为特定Java EE Web应用程序提供角色管理系统的最简洁方法是什么?
我听到的所有角色管理方法都用于保护glassfish容器本身。 我想要的是应用程序中的角色管理,即创建/删除角色并添加特定的允许操作,例如:'显示类型X'的记录,'从类型Y'删除记录。等等。我必须能够在Web应用程序中管理它们,而不是在应用程序服务器中管理它们。
是否有现有解决方案?
答案 0 :(得分:0)
使用管理控制台在Glassfish中创建安全领域。获得安全领域后,打开web.xml并配置登录内容和一组安全约束,指定可以访问特定路径的角色列表(在本例中为 protected 文件夹)。所以下面的标记很奇怪......对此有所了解。
<security-constraint>
<display-name>Area protetta</display-name>
<web-resource-collection>
<web-resource-name>Area Protetta</web-resource-name>
<description/>
<url-pattern>/faces/protected/*</url-pattern>
<url-pattern>/faces/faces/*</url-pattern>
<url-pattern>/protected/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>admin</role-name>
<role-name>broker</role-name>
</auth-constraint>
</security-constraint>
您可以拥有多个约束,每个约束可能有N个重叠角色。设置完成后,您可以创建Web应用程序的一部分来更改用户角色。更新用户角色时,他/她的权限会相应更新。
通过这种方式,您可以在应用程序中处理该组,但是您将安全检查委派给Glassfish。如果这是您第一次这样做,那么它可能是一个容易出错的过程。随意使用您的进度更新您的帖子,我会帮助。