您的位置:  JooLun微信快速开发平台 > 文章 > 相关教程 > 正文

通过mybatis拦截器实现数据权限

2019-11-28 11:22 管理员 次阅读 条评论

摘要:本文主要介绍JooLun框架数据权限的实现原理

例如我要让WxApp(公众号账号)受到数据权限的控制,实现不同机构的用户管理不同的公众号,步骤如下:

1、wx_app表需要有机构字段(organ_id),因为系统通过机构来划分数据权限的

2、nacos中配置需要控制数据Mapper方法,这里我配的是分页查询方法(selectPage)

3、修改用户角色的数据权限类型(全部、本级、本级及子级、自定义)

到此WxApp的数据权限就配置完成了,通过赋给用户角色即可完成不同机构的用户管理不同的公众号

核心代码(DataScopeInterceptor.java)

//查询数据权限配置
List<String> mapperIds = dataScopeProperties.getMapperIds();
//未配置数据权限,直接放行
if (mapperIds==null || mapperIds.size()<=0) {
   return invocation.proceed();
}else{
   String mappedStatementId = mappedStatement.getId();
   if(!CollUtil.contains(mapperIds,mappedStatementId)){
      return invocation.proceed();
   }
}


  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接
Powered by Jspxcms © 2010-2017 Jspxcms All Rights Reserved