首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季安全,Sitemesh & Taglibs

春季安全,Sitemesh & Taglibs
EN

Stack Overflow用户
提问于 2013-11-04 19:22:20
回答 2查看 1.1K关注 0票数 0

我的问题和这个相似:

Spring security tags in sitemesh decorator

我在Spring项目中使用了sitemesh和Spring安全性。我的web.xml看起来是这样的:

代码语言:javascript
复制
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
  <filter-name>sitemesh</filter-name>
  <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>sitemesh</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

我的NavBar.jsp (我正在使用Spring引导展示),它包含在由sitemesh修饰的每个页面中,如下所示:

代码语言:javascript
复制
<div class="navbar-collapse collapse">  
      <ul class="nav navbar-nav">

        <security:authorize ifAnyGranted="ROLE_UPDATE">
            <li ><a href="<c:url value="/dataupdate" />">Update</a></li>
        </security:authorize>

        <security:authorize ifAnyGranted="ROLE_ADMIN">
            <li ><a href="<c:url value="/settings" />">Settings</a></li>
        </security:authorize>

        <li><a href="j_spring_security_logout">Logout</a></li>                           
      </ul>
    </div>   

所有操作都与expect一样(也就是说,导航栏项仅在经过身份验证的用户有正确角色时才显示),但默认的Security登录页面没有修饰。我可以通过将web.xml中的Sitemesh过滤器移到之上来解决这个问题,但是,NavBar.jsp中的安全标记就停止工作了。

有什么办法可以让我两者兼得吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 09:11:01

为了解决这个问题,我实现了一个自定义的login.jsp页面,并且sitemesh只是取了它。

票数 1
EN

Stack Overflow用户

发布于 2013-11-05 12:29:53

更改过滤器的顺序并尝试..。它应该能工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19775395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档