思路:
1.定义jdk annotation,包括模块和权限两个方法。【@Permission(module = "user", action = "list")】
1.定义一个拦截器,拦截需要权限验证所有方法。【 @Pointcut("execution(public * com.gaotianlong.rbac.web.action..*(..))") 】
2.取得session中用户登录信息,得到当前用户的所有权限。【request.getSession().getAttribute("user")】
3.proceedingJoinPoint中取得当前执行的方法,取得权限注解。( method.getAnnotation(Permission.class) )
4.判断当前方法注解标识的权限是否包含在用户的权限中。如果是,放行。如果不是,提示没有权限。【privileges.contains(privilege)】
annotation定义
annotation标注
定义拦截器
判断用户是否有该执行权限