使用 jsf 和 spring-security 进行应用程序身份验证配置

发布于 2024-11-19 00:41:57 字数 847 浏览 6 评论 0原文

我正在考虑这样的解决方案:

  • 用户的不同菜单取决于角色,该角色将包含在模板
  • 正确的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北座城市 2024-11-26 00:41:57

我不知道我是否正确理解了你的问题,但听起来你可以使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文