我在jsp中有相当于以下内容。既没有在这里也没有显示!
我第一次涉足Spring Security 3.0.5。我已经毫无问题地使用了3.0.3。
<sec:authorize ifNotGranted="ROLE_ACTIVE">
here
</sec:authorize>
<sec:authorize ifAnyGranted="ROLE_ACTIVE">
there
</sec:authorize>
答案 0 :(得分:7)
感谢您的见解。我发现这是因为过滤器映射的排序。 Spring安全需要在Sitemesh之前发布。
如果没有我发布关于该项目的那么多看似微不足道的细节,不知道有人会怎么做到这一点。
我知道将来会发布web.xml。可能只是更加注意这是问题的根源。
答案 1 :(得分:1)
看起来ifNotGranted和ifAnyGranted不赞成使用访问表达式。尝试像
这样的东西<sec:authorize access="hasRole('ROLE_ACTIVE')">here</sec:authorize>
答案 2 :(得分:1)
如果你为jsp页面设置了filters ='none'并在同一个jsp上面写了代码,那么你的authorize标签将总是返回false。
你可以参考这个问题,你的问题可能与我相同。
Spring security login/logout url related issue
如果您的问题不同,可以详细说明您的安全配置。