美文网首页
@Secure注解笔记

@Secure注解笔记

作者: Children乏 | 来源:发表于2021-05-19 15:13 被阅读0次

    使用示例

        @Secured({"ROLE_user"})
        @GetMapping(value = "get")
        public String get() {
            return "hello get";
        }
    

    踩坑记录:
    1、前置条件:必须在@Configuration类中加入如下注解

    @Configuration
    @EnableGlobalMethodSecurity(securedEnabled = true)
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        // ...
    }
    

    2、注解内容:大括号中的字符串内容须加上“ROLE_”前缀

    试过写成@Secured({"user"}),此时不论用户含有"user"或"ROLE_user"都校验不通过
    org.springframework.security.access.vote.RoleVoter源码发现@Secured仅支持带前缀的字符串

        public boolean supports(ConfigAttribute attribute) {
            if ((attribute.getAttribute() != null)
                    && attribute.getAttribute().startsWith(getRolePrefix())) {
                return true;
            }
            else {
                return false;
            }
        }
    

    相关文章

      网友评论

          本文标题:@Secure注解笔记

          本文链接:https://www.haomeiwen.com/subject/bdepjltx.html