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.去角色管理中,给不同角色分配能看到的页面和数据权限。


总结

如果想要会用的话,这样就可以了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喂马人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值