通过注解/切面方式实现方法权限校验

AOP是Spring的灵魂
针对于垂直越权以及未授权访问等风险场景,用AOP来做权限校验是个不错的选择,可以使权限校验的代码逻辑更清晰和更具灵活性(就是有时候忘了加注解就很操蛋了,这时候建议在请求入口处做全局基础权限判断来兜底,此处不细讲该方案)。
1. 创建注解
创建注解,注解的作用域是METHOD
。
假设该权限校验场景下的所有API都需要登陆,那我们这里默认needLogin
为true
。
1 | @Target({ ElementType.METHOD}) |
2. 实现注解的过滤逻辑
接下来就要开始实现注解的权限校验逻辑了,伪代码如下:
1 | public class AutoUserAuthAspect { |
接下来就是通过配置文件将处理逻辑关联到注解上,同时限定有效范围。
application-context.xml
1 | <bean id="AutoUserAuthAspect" class=“xxxxx.aspect.AutoUserAuthAspect"> |
3. 使用注解
在入参对象中,将其加到需要过滤的参数上,
1 | @AutoAuth |
- Post title:通过注解/切面方式实现方法权限校验
- Post author:langu_xyz
- Create time:2020-04-10 21:00:00
- Post link:https://blog.langu.xyz/通过注解切面方式实现方法权限校验/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.