Interceptor实现的权限管理

这几天老板突发奇想要我在app上搞个权限检验,“哎呀,这个很简单的,你从数据库里把权限找出来,然后放到手机里,用的时候比对一下就可以了”。
这也太完蛋了,直接把权限暴露出去不说,这代码写的一点设计感都没有,真就开发一时爽,维护火葬场。
所以在一上午面向百度编程之后,尝试了一下传说中的aop编程。在后端项目中,利用Interceptor在调用方法执行前进行拦截,根据调用方法上的注解验证当前session用户的权限。
首先是实现检验用户持有权限完整代码不敢放,怕查水表,只能写个伪的

 boolean checkPermission(userId,methodPerm){
   
	userPerms = getUserPerms(userId);
	boolean hasPerm = false;
    for(ele : userPerms){
   
          if(methodPerm.equals(ele)){
   
              hasPerm = true;
          }
      }
      return hasPerm;
 }

然后是修饰方法的注解,作用于方法,持续至运行期。
这样是为了在Interceptor中,通过反射动态获取调用方法的权限检验字。主要是我觉得每个条件加个if太蠢了,而且权限和业务逻辑无关,合一起是真造孽

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值