认证授权的注解使用(五个注解)
第一个注解 @Secured
判断是否具有角色,另外需要注意的是这里匹配的字符串需要添加前缀“ROLE_“。
具体步骤:
1.启动类(配置类)开启注解
![](https://i-blog.csdnimg.cn/blog_migrate/42228a73dc1ebd8ffe14b49dd34fe712.png)
2.controller方法上使用注解,设置角色权限(两处都加ROLE_前缀)
![](https://i-blog.csdnimg.cn/blog_migrate/8593c67372a7c0b85dfd8e69a1a1c86a.png)
3.配置类中权限方法应先去掉,因为默认会根据配置类来认证权限
4.同时还应添加成功认证跳转界面
![](https://i-blog.csdnimg.cn/blog_migrate/932ebf02442139fac315e5dcb6d926b1.png)
第二个注解 @PreAuthorize (常用)
具体步骤:
1.启动类开启注解
![](https://i-blog.csdnimg.cn/blog_migrate/87a667dbded409e13a9e070a204a568b.png)
2.controller方法上使用注解,设置角色权限(四种权限方法,hasRole()方法需加前缀ROLE_)
![](https://i-blog.csdnimg.cn/blog_migrate/393dcd7ff28462a586e18f6582e6dee5.png)
第三个注解 @PostAuthorize
在方法执行后进行权限认证,适合验证带有返回值的权限,可作为日志记录使用
具体步骤:
1.启动类开启注解
![](https://i-blog.csdnimg.cn/blog_migrate/716ca4492006669f0fed6874787b4755.png)
2.controller方法上使用注解,设置角色权限(四种权限方法,hasRole()方法需加前缀ROLE_)
![](https://i-blog.csdnimg.cn/blog_migrate/99a10e28f19fa089174b5f15e38f2b77.png)
区别于@PreAuthorize 注解 ,可以将输出打印,以作日记输出。
最后两个注解,作为了解,使用很少
@PostFilter
方法返回数据进行过滤
@PreFileter
传入方法数据进行过滤