Spring Security Authorize标记始终为false

时间:2011-02-10 18:43:10

标签: spring-security

我在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>

3 个答案:

答案 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

如果您的问题不同,可以详细说明您的安全配置。