And*_*daP 4 java jsf spring-security primefaces jsf-2
我正在使用JSF 2.0和PrimeFaces启动一个Web应用程序项目.其中一个要求是根据用户角色显示不同的页面内容.例如,只有管理员才能看到菜单项 - 用户管理.
安全方面我会选择Spring安全.
怎么能以优雅的方式实现呢?我应该为每个人制作一个xhtml模板,然后使用特定于角色的UI项为每个角色创建不同的页面吗?
谢谢
Eug*_*vas 10
只需rendered在组件中使用属性+角色检查,例如子菜单:
<p:submenu label="#{msg['header.management']}" rendered="#{request.isUserInRole('INTERNO')}">
<p:submenu label="#{msg['header.roles']}" icon="ui-icon-contact">
<p:menuitem value="#{msg['header.newRole']}" url="/pages/addRole.jsf" />
<p:menuitem value="#{msg['header.mngRoles']}" url="/pages/viewRole.jsf" />
</p:submenu>
Run Code Online (Sandbox Code Playgroud)
作为'INTERNO'在Spring中定义的角色.我觉得这很优雅.
要禁用该pafe(或一组页面)的导航,您仍然需要为您添加一个拦截spring-security.xml,例如:
<intercept-url pattern="/pages/*Role*" access="hasRole('INTERNO')" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |