Spring AOP应用之权限拦截
众所周知,Spring框架给我们java开发带来了极大的便利,几乎没有人不使用Spring,而Spring随着不断的发展功能也越来越壮大,这里我们谈一谈Spring的AOP在实际项目中的应用
Spring的AOP是基于动态代理实现的,默认使用的是jdk动态代理,这里不再详述动态代理的机制。
在web开发中,经常需要对用户的权限进行控制,常用的手段是RBAC,这里每个用户都能对应出其所具有的权限列表,每个权限都有其相应的标识码(code),我们可以对这个code进行判断,这里给出一个思路:
- 自定义权限注解,其value对应权限code
- 使用aop对所有的加上该注解的单元方法进行拦截
- 判断注解中的code该用户是否具有,有则放行
这样就达到了从控制器控制用户权限的目的