Jeesite框架实用 如何实现本公司内数据权限功能使用
作者:互联网
文章目录
- 前言
- 一、数据库中创建一张视图表!!!(非常重要)
- 二、创建自己的表
- 三、使用jeesite导入表,生成代码
- 四、在此表生成的,service层中,加上过滤
- 五、在此表生成的,controller层中查看数据处,加上过滤
- 六、在此表生成的,Entity层中,加上过滤
- 六、完成,去jeesite中分配权限
- 总结
前言
做到这一块的时候,看了看视频,也找了一些相关的文章,但是自己动起手布置的时候,还是会出现很多问题,导致功能实现不了。这是为什么???这是因为好多文章漏了一个很关键的点!!!
一、数据库中创建一张视图表!!!(非常重要)
1.在视图层创建一张新表!!!
表名:自己起
表的SQL语句如下:
select `a`.`user_code` AS `user_code`,
`a`.`login_code` AS `login_code`,
`a`.`user_name` AS `user_name`,
`e`.`office_code` AS `office_code`,
`e`.`company_code` AS `company_code`
from (`js_sys_user` `a` left join `js_sys_employee` `e` on(((`e`.`emp_code` = `a`.`ref_code`) and (`a`.`user_type` = 'employee'))))
这张表关联了,user,机构,部门,就像从user的id再去查你关联的机构,再去你关联的部门。
2.使用jeesite框架,生成此表。这个表没必要展示,可可以选择仅生成entity,service表,或其他,可以吧这个表命名为UserEmployee
二、创建自己的表
自己创建一张单表,但必须包含以下字段:
这些字段,可以试试哪些是不需要的,我是没敢试,就直接用了
这些字段的由来:看过jeesite的设计表视频可知,ERmaster上如果创建了这个组(此指DataEntity),示可以保留供选择的,你再建表添加组,选择这张表即可。
三、使用jeesite导入表,生成代码
四、在此表生成的,service层中,加上过滤
/**
* 添加数据权限过滤条件
*/
//这里CmsSite 可替换成你这个表单生成的entity层名字
public void addDataScopeFilter(CmsSite entity){
// 举例4:用户、员工(自己创建的)数据权限根据部门过滤,实体类@Table注解extWhereKeys="dsfOffice"
entity.getSqlMap().getDataScope().addFilter("dsfOffice", "Office","e.office_code", "a.create_by", DataScope.CTRL_PERMI_HAVE);
}
这里过滤的条件可从官方文档查看 https://www.jeesite.com/docs/service-datascope/
五、在此表生成的,controller层中查看数据处,加上过滤
/**
* 查询列表数据
*/
@RequiresPermissions("cms:cmsSite:view")
@RequestMapping(value = "listData")
@ResponseBody
public Page<CmsSite> listData(CmsSite cmsSite, HttpServletRequest request, HttpServletResponse response) {
cmsSite.setPage(new Page<>(request, response));
// 在这里添加即可: cmsSiteService可替换成你自己生成的service名字
cmsSiteService.addDataScopeFilter(cmsSite);
Page<CmsSite> page = cmsSiteService.findPage(cmsSite);
return page;
}
六、在此表生成的,Entity层中,加上过滤
其中 entity = 要查询的,咱第一步创建的表UserEmployee
dsfoffice 就是 第四步中那个过滤,我们可以把它看成是这个过滤条件的名字
六、完成,去jeesite中分配权限
1.先去用户管理中,给自己的人员分配角色。
2.去角色管理中,给不同角色分配能看到的页面和数据权限。
总结
如果想要会用的话,这样就可以了。
标签:code,此表,Jeesite,生成,实用,过滤,user,权限,jeesite 来源: https://blog.csdn.net/weixin_47756184/article/details/118895850