登录后,<sec:authorize>中没有Spring权限

时间:2015-09-14 09:52:45

标签: spring spring-security roles

我使用的是spring security 4.0.2和spring webflow 2.4.2 在JSF页面中,使用ROLE_ANONYMOUS,我没有任何问题。

    <sec:authorize  ifAnyGranted="ROLE_ANONYMOUS">
        ...
    </sec:authorize> 

但是,登录后,这不起作用

<sec:authorize access="hasRole('ACESSO-BO2')">
            ...
        </sec:authorize>  

但这有效:

<sec:authorize access="isAuthenticated()">
            ...
        </sec:authorize>  

该视图知道它已经过身份验证,但它并不知道此用户的角色。

在我的控制器中,这显示了正确的权限:

Authentication auth = SecurityContextHolder.getContext().getAuthentication();
List<GrantedAuthority> listaAuth = (List<GrantedAuthority>) auth.getAuthorities();
 while (i < listaAuth.size()){
                  System.out.println(i+":"+listaAuth.get(i).getAuthority());
                  i++;
              }

这是如何引起的?如何解决?

0 个答案:

没有答案