若依的权限控制该怎么做(超详细的图文教程)

若依的权限控制该怎么做(超详细的图文教程)

文章目录

概要一、页面权限控制二、页面元素权限控制小结

概要

若依是一种开源的权限管理系统,可以用于细粒度的权限控制和访问管理。若依提供了基于角色的访问控制(Role-Based Access Control, RBAC)机制,通过角色的分配和权限的定义来管理系统中各个用户的访问权限。

在若依中,权限控制主要通过以下几个步骤实现:

定义角色:首先,需要定义系统中的角色。角色是一组具有相似职能和权限的用户集合。例如,可以定义管理员、普通用户、访客等角色。

分配角色:将角色分配给特定的用户或用户组。通过将角色与用户进行关联,可以确定用户所拥有的权限。

定义权限:为每个角色定义相应的权限。权限可以是对系统中的资源(如功能、操作、数据等)的读取、写入或执行等操作。

控制访问:根据用户的角色和权限设置,控制用户对系统资源的访问。用户只能执行其拥有权限范围内的操作。

若依还提供了灵活的权限管理功能,例如权限继承、权限限制、动态权限配置等,以满足不同场景下的权限需求。

需要注意的是,在使用若依或其他权限管理系统时,管理员应该遵循合理的权限设计原则,确保用户的权限分配合理、安全可靠,并且需要定期审查和更新权限设置,以保障系统的安全性和可管理性。

下面我们来详细说一下如何做

我们首先创建一个test用户,角色为普通用户角色,用这个账号来演示权限控制的过程

一、页面权限控制

1、用户创建好之后,然后我们到角色管理页面,因为刚创建的用户属于普通角色,所以我们点普通角色的修改按钮来查看普通角色的菜单权限。 我们来看学生管理这个菜单,可以看到这个是没有选中的,所以普通角色是没有查看这个菜单的权限的。

2、下面我们登上test的账号来看一下。 登上之后,发现系统管理目录中没有显示班级管理菜单

3、然后我们再回到管理员账号加上这个菜单权限。 对应的就是是否显示这个学生管理菜单。

4、加上之后,我们再回到test账号,就可以看到这个学生管理菜单了。

5、但是点击学生管理之后会发现,提示当前操作没有权限,然后我们再进入管理员界面。

6、我们再回到admin账号,查看学生管理菜单的权限,会发现这里没有任何的权限标识,也就是说连最基础的查看权限都没有,这时候我们给他加上查看的权限标识。

7、我们点击学生管理菜单的修改按钮,在弹出框中给他加上list权限(权限字符要跟自己的后台一致,否则会不起作用)。 那么问题来了,我怎么知道这个权限标识该怎么写呢? 去看对应的Controller,这个@PreAuthorize注解对应的字符,就是权限标识,每一个接口上都有。

加上之后,再登录test账号,然后我们就会发现能够查看查询到的所有数据了。 但是会发现,表格上方的增删改和导出按钮没有,包括右侧的操作按钮也都没有。 跟admin做对比(admin有所有按钮的权限,因此是全部显示的) 下面我们来说,如何对这些按钮做控制,控制其他角色所能看到的按钮。

二、页面元素权限控制

我们再进入管理员的菜单管理页面,会发现学生管理跟其他的菜单对比少了点东西,也就是增删改查和导出的按钮权限。这里不加上,那么其他角色是看不到这些按钮的,自然也就没办法进行操作了。

那是不是我们把按钮的权限加上,按钮就能够显示了呢? 我们来试一下。

1、我们找到学生管理菜单的新增按钮, 菜单类型选择按钮,菜单名称名称跟显示排序都自定义。 权限标识同样是去后端找。

2、添加完之后,那是不是就有了呢?我们再去test账号中看。 我们会发现,仍然是没有的。 是哪里出了问题呢? 3、我们回到管理员账号,进入角色管理,点击普通角色的修改按钮。我们发现,角色中的菜单管理权限中,刚添加的新增按钮的权限并没有勾选,因此也就不起作用。 我们将这里勾选上,然后再回到test账号。

4、回到test账号,我们发现,新增按钮已经添加上了。 其他的按钮以此类推,也是这么个添加流程。

先在菜单管理中添加按钮权限再角色管理中勾选对应菜单下按钮权限

小结

步骤流程:

1、角色管理中添加对应角色的页面权限 2、菜单管理中添加页面的按钮权限 3、角色管理中勾选按钮权限

注意:前端、后端以及你写的权限标识,都要对应上。否则就会不起作用。(如果没有起作用,就分别去检查这三个地方)

补充:前端的权限标识仅用于控制该按钮是否显示,当你发现按钮的功能不起作用时,要去看这个按钮调用的接口的权限标识,按照上述流程(菜单管理和用户管理中)将这个权限给添加上,用户就有权限去操作了。

相关推荐

大众混动车型有哪些
365bet平台网投

大众混动车型有哪些

08-12 8069
电脑风扇哪款好?十大CPU散热器单品推荐
移动宽带欠费后为何迟迟未恢复服务?