使用SpringSecurity管理具体接口访问权限。
需要先有授权服务器和资源服务器
配置接口具体访问权限再有以上两个的基础上就比较简单了
先在ServerConfig中添加注解
@EnableGlobalMethodSecurity(prePostEnabled = true)
再在具体接口中添加注解
@PreAuthorize("hasAuthority('test:test:create')")
这样访问对应的接口就必须是拥有test:test:create权限的用户。
这个权限是在登录时候赋予的
//配置权限,权限应该从数据库中读取,这里简单测试
GrantedAuthority grantedAuthority = new SimpleGrantedAuthority("test:test:create");
grantedAuthorities.add(grantedAuthority);
这样,就完成了具体接口的功能授权。
访问有对应权限的接口或者没有配置权限的接口都是正常的。
如果访问没有对应权限的接口,返回如下:
测试代码地址:
Hello-Security: OAuth2授权服务器
————————————————
版权声明:本文为CSDN博主「LO嘉嘉VE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dengdaijc/article/details/128290817