我想使用OpenAM在Tomcat 6中部署的测试Web应用程序中配置授权。最终目标/用例将是这样的:


用户鲍勃属于组员工
用户john属于组经理
只有员工和经理才能访问employee.jsp页面
只有管​​理员可以访问manager.jsp页面


我在身份验证文件上找到了大量文档,并在我的环境中对其进行了正确配置。
登录之前,我可以访问“公共”页面(不是我配置的强制uri),但是一旦我尝试访问受保护的页面(例如“ employee.jsp”),我将被重定向到OpenAM的登录模块,并且必须进行身份验证。我可以身份验证为属于组员工的鲍勃(后备用户存储是活动目录),但是在重定向之后,我仍然会拒绝访问。我该如何配置访问权限?部署用于保护该资源的策略代理是j2ee_agent。 Web代理似乎更相关,但是我收集到已为Tomcat部署了j2ee代理。有什么想法吗?

谢谢。

环境:


部署在tomcat 6中的webapp部署在Windows 2008服务器上,带有AD
j2ee策略代理部署在同一tomcat 6实例中,配置集中在服务器中
使用Windows 2008 Server AD作为用户存储,在jboss 7中部署的单独Linux盒上的openam服务器。

最佳答案

J2EE代理支持J2EE策略。在OpenAM使用的数据存储中,您必须将组分配给您选择的用户。

OpenAM将从该“数据存储组”中提取并构建和建立“ OpenAM组”。

您必须在特定于部署容器的部署描述符中为此“ OpenAM组”配置到J2EE角色的映射。

J2EE代理模式应为“ J2EE_POLICY”或“ ALL”(在OpenAM中强制配置URL策略)。

您可以查看J2EE代理随附的agentsample Web应用程序。

代理调试日志(级别设置为“消息”)还将告诉您是否以及如何完成映射。

10-05 18:20