Bootstrap

SpringSecurity【注解对方法的权限控制+@PreAuthorize无效】

首先如果你权限限制的方法在某个bean里面,并且,这个bean由SpringMVC管理,那么我们打开SpringSecurity的配置扫描,就写在SpringMVC的配置文件中!!!

反之,如果权限限制的方法在某个bean里面,并且这个bean由Spring管理,那么就配置在Spring的配置文件中!!!

<!-- 开启 SpringSecurity 注解,注意,该注解必须写在SpringMVC的配置文件中,否则 SpringSecurity 的注解会无效! -->
    <security:global-method-security
        pre-post-annotations="enabled"
        jsr250-annotations="enabled"
        secured-annotations="enabled"
    />

在方法执行之前进行方法权限校验:

@PreAuthorize("hasAnyRole('ROLE_USER')")
public User findUserByUsername(User user);

github代码地址

;