JavaEE安全概念

JavaEE安全概念,java,jakarta-ee,active-directory,jacc,Java,Jakarta Ee,Active Directory,Jacc,我需要使用JavaEE6(Glassfish服务器)创建一个具有身份验证和授权的应用程序。我读了很多关于Java EE 6安全性的书,只是想问一下我的概念是否正确: 根据“X123456”,公司中的每个用户都有一个帐户。我想将其用于LDAP身份验证: 应用程序-->LDAP 因此,我可以使用公司的基础设施来授权用户 但是,我希望控制应用程序中的角色。因此,我想使用JACC定义我自己的角色。因此,我将创建一个具有用户到角色映射的数据库 示例:“X123456->ADMIN” 好处是: 我不需要存

我需要使用JavaEE6(Glassfish服务器)创建一个具有
身份验证
授权
的应用程序。我读了很多关于Java EE 6安全性的书,只是想问一下我的概念是否正确:

根据
“X123456”
,公司中的每个用户都有一个帐户。我想将其用于LDAP身份验证:

应用程序-->LDAP

因此,我可以使用公司的基础设施来授权用户

但是,我希望控制应用程序中的角色。因此,我想使用
JACC
定义我自己的角色。因此,我将创建一个具有用户到角色映射的数据库

示例
:“X123456->ADMIN”

好处是:

  • 我不需要存储任何密码
  • 我可以在我的应用程序中创建一种管理面板,在这里我可以动态地为用户设置现有角色
您认为这在技术上是可行的,并且是良好的做法吗

备选方案:是否可以在Active Directory中定义角色(管理员、用户)并通过LDAP进行查询?所以我可以将我的用户到角色映射外包到active directory中

更新:

  • 对于身份验证,我当前使用LDAP域(用户、密码)
  • 对于授权,我想使用数据库(rolename,user)。但是,我不知道如何告诉我的应用程序使用数据库进行授权。如果我使用JDBC领域,我可以指定组/角色表和列。有没有办法告诉我的应用程序只使用JDBC领域进行授权

是的,我想拥有这样的基础设施是很常见的。您将在这里找到Tomcat的解决方案:也许您能够将主要思想转移到GF