Java EE 6 中的编程身份验证

Kev*_*vin 5 java security rbac java-ee-6 jakarta-ee

是否可以在 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() ;
}
Run Code Online (Sandbox Code Playgroud)

我在这个项目中集成了 J2ee/jpa/servlet 3/... (Glassfish 3)。

我见过这样的注释:

@RolesAllowed ("viewer")
void doListdata (...) {
    istData() ;
}

@RolesAllowed("admin")
void doUpdateData (...) {
    updateData() ;
}

@PermotAll
void dolisterror () {
    listerror() ;
}
Run Code Online (Sandbox Code Playgroud)

但是我如何在登录()中手动声明我的用户处于管理员和/或查看者角色?

Jus*_*tin 0

您好, sun java ee 6 教程对此进行了很好的介绍。