我正在使用Struts 2开发一个小型Java EE应用程序,我有两个不同角色的用户(Admin& Member)。
//Member
class Member extends User {
//...
}
//Admin
class Admin extends User {
//...
}
我必须区分“成员”和“管理员”角色,以阻止成员使用某些操作,或向管理员显示一些提取选项。所以我发现我应该使用 RolesInterceptor 。 所以我将它添加到我的 struts.xml 中的Action中。
<action name="dashboard" class="com.examples.DashboardAction">
<interceptor-ref name="completeStack"/>
<interceptor-ref name="roles">
<param name="allowedRoles">admin</param>
<param name="disallowedRoles">member</param>
</interceptor-ref>
<result name="success">dashboard.jsp</result>
</action>
我的问题是如何向struts声明管理员和会员类具有以下角色“admin”&amp; “成员”。
编辑:我发现有些文章建议使用 PrincipalProxy 和 PrincipalAware 接口,允许间接访问 HttpServletRequest ,但我不知道知道如何结合这一切。
谢谢。