Java EE 6 中的编程身份验证
是否可以在 Java EE 6 中以编程方式对用户进行身份验证?
让我解释一下更多细节:
我有一个包含 Servlet 和 hibernate 的现有 Java SE 项目;我手动管理所有身份验证和访问控制:
class Authenticator {
int Id
string username
}
Authenticator login(string username, string password) ;
void doListData(Authenticator auth) {
if (isLoggedIn(auth)) listData();
else doListError
}
void doUpdateData (Authenticator auth) {
if (isLoggedAsAdmin(auth)) updateData() ;
else doListError();
}
void doListError () {
listError() ;
}
并且我在该项目中集成了 J2ee/jpa/servlet 3/... (Glassfish 3)。
我见过这样的注释:
@RolesAllowed ("viewer")
void doListdata (...) {
istData() ;
}
@RolesAllowed("admin")
void doUpdateData (...) {
updateData() ;
}
@PermotAll
void dolisterror () {
listerror() ;
}
但是如何在login()中手动声明我的用户处于管理员和/或查看者角色?
is it possible to authenticate programmatically a user in Java EE 6?
Let me explain with some more details:
I've got an existing Java SE project with Servlets and hibernate; where I manage manually all the authentication and access control:
class Authenticator {
int Id
string username
}
Authenticator login(string username, string password) ;
void doListData(Authenticator auth) {
if (isLoggedIn(auth)) listData();
else doListError
}
void doUpdateData (Authenticator auth) {
if (isLoggedAsAdmin(auth)) updateData() ;
else doListError();
}
void doListError () {
listError() ;
}
And Im integrating J2ee/jpa/servlet 3/... (Glassfish 3) in this project.
I've seen anotations like :
@RolesAllowed ("viewer")
void doListdata (...) {
istData() ;
}
@RolesAllowed("admin")
void doUpdateData (...) {
updateData() ;
}
@PermotAll
void dolisterror () {
listerror() ;
}
but how can I manually state, in login(), that my user is in the admin and/or viewer role?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
谢谢你的回答,我花了一段时间才明白,但你们都是对的,
这就是我想做的。我需要登录特定角色,而不是登录我的用户:
:)
Thank you for your ansers, I took a while to understand it, but you're both right,
is what I want to do. Instead of login in my users, I need to login a specific role:
:)
首先确保您使用的是 Servlet 3.0/3.1。 Servlet 2.4没有登录方法
First make sure you are using Servlet 3.0/3.1. Servlet 2.4 does not have the login method
您好,sun java ee 6 教程< /a>.
Hi this is covered pretty well in the sun java ee 6 tutorial.