使用 jsf 和 spring-security 进行应用程序身份验证配置
我正在考虑这样的解决方案:
- 用户的不同菜单取决于角色,该角色将包含在模板
- 正确的
sec:intercept-url
中,以仅访问那些专用于角色的页面,因此用户具有一个角色将无法访问其他角色的页面
您对此解决方案有何看法?
masterLayout
看起来像:
<h:body>
<f:subview id="menuUser" rendered="#{sessionBean.user}">
<ui:include src="/WEB-INF/templates/menuBarUser.xhtml" />
</f:subview>
<f:subview id="menuAdmin" rendered="#{sessionBean.admin}">
<ui:include src="/WEB-INF/templates/menuBarAdmin.xhtml" />
</f:subview>
<ui:insert name="content" />
</h:body>
security-context.xml:
...
<sec:intercept-url pattern="/user/**" access="ROLE_USER" />
<sec:intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
...
I thinking about solution like this:
- different menus for users depend on role which will be included template
- proper
sec:intercept-url
's to access only those pages which are dedicated to role, so user with one role won't be able to access pages for another role
What are You thinking about this solution?
masterLayout
look like:
<h:body>
<f:subview id="menuUser" rendered="#{sessionBean.user}">
<ui:include src="/WEB-INF/templates/menuBarUser.xhtml" />
</f:subview>
<f:subview id="menuAdmin" rendered="#{sessionBean.admin}">
<ui:include src="/WEB-INF/templates/menuBarAdmin.xhtml" />
</f:subview>
<ui:insert name="content" />
</h:body>
security-context.xml:
...
<sec:intercept-url pattern="/user/**" access="ROLE_USER" />
<sec:intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道我是否正确理解了你的问题,但听起来你可以使用 Spring Security Facelets 标签库。
I don't know if I catch up your question right, but sounds like you can use Spring Security Facelets Tag Library.