【若依】权限管理,数据隔离实现保姆级教程

该篇博文针对学习若依权限相关时的一些设置和问题的记录。

理想化结果

1、对于普通的用户来说,登录后只能看见自己录入的数据,并且无法更改部分数据。

2、对于审核人员来说,登录后可以看见审核部门下用户提交的数据,可以更改审核状态等信息。

创建角色

登录若依系统->系统管理->角色管理->新增

这里用同样的方法创建审核人员

数据权限分配

具体操作

点击你要设置的角色的对应“更多操作”按钮->点击数据权限

不同权限说明

1、仅本人数据权限,说明自己看自己的。一般情况下这种最底层的操作人员;

2、部门经理,则只能看本部门人员的数据;

3、管理人员,那么可以看到本部门及以下的数据;

这里可以根据需求选择对应的权限,我这里对于普通用户选择了仅本人数据权限,而审核人员选择了本部门人员数据 。

到这里为止,初步的设置就已经完成了,然后就是后端的设置。

数据库

如果要使用若依自带的权限管理系统,设计的表里面必须有dept_id和user_id的字段。

其他字段则是根据需求来自行设置。

添加数据

重要的设置

若依自动生成的代码中,在添加数据的时候,dept_id和user_id并不会自动填充,所以我们需要进入相应的Controller中,在新增保存的模块下添加相应的代码,实现在每次添加数据的时候,部门编号和用户编号都会自动填充。

可能出现的错误

我在第一次添加的时候,发现getDeptId()这个方法并不存在,然后这个应该是自带的方法,找到相应位置的BaseConreller

进入以后看看是不是没有你要用的方法,没有的话就自己加上

加上以后就有对应方法了。

数据隔离

Mapper

找到对应的Mapper页面,进入后找到selectList部分,在你的表后面加一个别名(若依生成的都是没有别名了,为了方便我们可以自己手动添加一个别名)

然后再末尾加上

${params.dataScope}

impl

在service下的impl包中找到你对应的需要设置的进入,找到查询列表相关的模块,在顶部添加

@DataScope(deptAlias = "t" , userAlias = "t")

这里的t就是你之前设置的别名,你设置了什么就写什么

创建用户

系统管理->用户管理->新增 创建新用户

验证权限分配是否成功

登录你创建的用户账号。

 普通用户

普通用户登录后只能看见自己添加的数据

审核人员

审核人员则能看见本部门所有的数据。

成功实现了权限配置和数据隔离!

  • 20
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
开发一个BBS论坛是一个相对复杂的项目,需要涉及到多个方面的技术,包括但不限于Web框架、数据库、前端技术等。下面是一个从0到全部功能实现保姆教程,希望对你有所帮助。 1. 确定开发框架和技术栈 一般来说,开发一个BBS论坛需要使用一些Web框架、数据库和前端技术。常见的Web框架包括Django、Flask等,数据库可以选择MySQL、PostgreSQL等,前端技术可以使用Bootstrap、jQuery等。根据自己的技术背景和需求进行选择。 2. 设计数据库 在开发BBS论坛之前,需要设计好数据库结构。根据需求,设计好用户表、帖子表、回复表等。同时,也需要考虑到数据的安全性和可扩展性。 3. 搭建环境 搭建好开发环境是开发BBS论坛的第一步。需要安装好Python、Web框架、数据库等相关软件,并进行配置。同时,也需要安装一些常用的工具,如git、pip等。 4. 编写代码 在环境搭建完成后,就可以开始编写代码了。根据需求,编写用户注册、登录、发帖、回复等功能的代码。同时,也需要编写前端页面,使用HTML、CSS和JavaScript等技术实现。 5. 测试和调试 完成代码编写后,需要进行测试和调试。通过自动化测试和手动测试,确保代码的质量和可靠性。同时,也需要对代码进行调试,解决可能出现的bug和问题。 6. 部署上线 最后,将BBS论坛部署到服务器上,并进行上线。需要考虑到服务器环境、安全性等因素,确保BBS论坛可以正常运行。 以上是开发BBS论坛的基本步骤和流程,希望对你有所帮助。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值