Java EE:在Web应用程序中实现角色管理

时间:2014-02-11 19:53:15

标签: java-ee glassfish

为特定Java EE Web应用程序提供角色管理系统的最简洁方法是什么?

我听到的所有角色管理方法都用于保护glassfish容器本身。 我想要的是应用程序中的角色管理,即创建/删除角色并添加特定的允许操作,例如:'显示类型X'的记录,'从类型Y'删除记录。等等。我必须能够在Web应用程序中管理它们,而不是在应用程序服务器中管理它们。

是否有现有解决方案?

1 个答案:

答案 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。如果这是您第一次这样做,那么它可能是一个容易出错的过程。随意使用您的进度更新您的帖子,我会帮助。