使用SpringSecurity管理具体接口访问权限。


需要先有授权服务器和资源服务器

 


配置接口具体访问权限再有以上两个的基础上就比较简单了


先在ServerConfig中添加注解

@EnableGlobalMethodSecurity(prePostEnabled = true)

再在具体接口中添加注解

@PreAuthorize("hasAuthority('test:test:create')")

这样访问对应的接口就必须是拥有test:test:create权限的用户。


这个权限是在登录时候赋予的

        //配置权限,权限应该从数据库中读取,这里简单测试

        GrantedAuthority grantedAuthority = new SimpleGrantedAuthority("test:test:create");

        grantedAuthorities.add(grantedAuthority);

这样,就完成了具体接口的功能授权。


访问有对应权限的接口或者没有配置权限的接口都是正常的。


如果访问没有对应权限的接口,返回如下:


image.png


 


 测试代码地址:


Hello-Security: OAuth2授权服务器



————————————————

版权声明:本文为CSDN博主「LO嘉嘉VE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/dengdaijc/article/details/128290817