如何以编程方式利用 javax.security (JAAS)?
How to harness javax.security (JAAS) programmatically?
我知道如何从 javaee web 应用程序上登录并保护 URI 资源免受未经身份验证的用户的侵害。有效。
现在,我考虑使用所有已经存在的 Java EE 安全结构,只是因为我想避免重复代码并使情况变得更糟。我想避免创建 @Entity
个已经可用的 bean。因此,我想保护我的 EJB、Backing Bean、CDI bean 和 URI 资源。都是同一个概念。即我需要:
Role
--> javax.managagement.relation.Role
Group
--> java.security.acl.Group???
User
--> java.security.Principal
最多,我想扩展现有的实现并使用更具体的实现。例如。 User
--> 具有 firstname
、lastname
等的用户
Java EE 安全性中是否已经有接口 User
甚至实现?
此外,如果用户被识别为基于表单的登录,我是否也可以在 EJB 中检查用户的权限(例如 @Stateless
)?例如。 @RolesAllowed("admin")
。换句话说:登录状态是否也适用于 EJB 上下文,而不仅仅是 Web 上下文?(我的意思是,它应该是同一个容器,对吧?)
有classjava.security.Principal(例如javax.servlet.http.HttpServletRequest#getUserPrincipal)。它有 getName 方法。如果你想用新字段扩展 Principal 对象,你应该为你的应用程序服务器创建自定义登录模块。
我知道如何从 javaee web 应用程序上登录并保护 URI 资源免受未经身份验证的用户的侵害。有效。
现在,我考虑使用所有已经存在的 Java EE 安全结构,只是因为我想避免重复代码并使情况变得更糟。我想避免创建 @Entity
个已经可用的 bean。因此,我想保护我的 EJB、Backing Bean、CDI bean 和 URI 资源。都是同一个概念。即我需要:
Role
--> javax.managagement.relation.RoleGroup
--> java.security.acl.Group???User
--> java.security.Principal
最多,我想扩展现有的实现并使用更具体的实现。例如。 User
--> 具有 firstname
、lastname
等的用户
Java EE 安全性中是否已经有接口 User
甚至实现?
此外,如果用户被识别为基于表单的登录,我是否也可以在 EJB 中检查用户的权限(例如 @Stateless
)?例如。 @RolesAllowed("admin")
。换句话说:登录状态是否也适用于 EJB 上下文,而不仅仅是 Web 上下文?(我的意思是,它应该是同一个容器,对吧?)
有classjava.security.Principal(例如javax.servlet.http.HttpServletRequest#getUserPrincipal)。它有 getName 方法。如果你想用新字段扩展 Principal 对象,你应该为你的应用程序服务器创建自定义登录模块。