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

文章目录

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

概要

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

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

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

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

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

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

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

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

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

我们首先创建一个test用户,角色为普通用户角色,用这个账号来演示权限控制的过程
若依的权限控制该怎么做(超详细的图文教程)_第1张图片

一、页面权限控制

1、用户创建好之后,然后我们到角色管理页面,因为刚创建的用户属于普通角色,所以我们点普通角色的修改按钮来查看普通角色的菜单权限。
我们来看学生管理这个菜单,可以看到这个是没有选中的,所以普通角色是没有查看这个菜单的权限的。
若依的权限控制该怎么做(超详细的图文教程)_第2张图片

2、下面我们登上test的账号来看一下。
登上之后,发现系统管理目录中没有显示班级管理菜单
若依的权限控制该怎么做(超详细的图文教程)_第3张图片

3、然后我们再回到管理员账号加上这个菜单权限。
对应的就是是否显示这个学生管理菜单。
若依的权限控制该怎么做(超详细的图文教程)_第4张图片

4、加上之后,我们再回到test账号,就可以看到这个学生管理菜单了。
若依的权限控制该怎么做(超详细的图文教程)_第5张图片

5、但是点击学生管理之后会发现,提示当前操作没有权限,然后我们再进入管理员界面。
若依的权限控制该怎么做(超详细的图文教程)_第6张图片

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

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

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

二、页面元素权限控制

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

那是不是我们把按钮的权限加上,按钮就能够显示了呢?
我们来试一下。
若依的权限控制该怎么做(超详细的图文教程)_第12张图片

1、我们找到学生管理菜单的新增按钮,
菜单类型选择按钮,菜单名称名称跟显示排序都自定义。
权限标识同样是去后端找。
若依的权限控制该怎么做(超详细的图文教程)_第13张图片

2、添加完之后,那是不是就有了呢?我们再去test账号中看。
我们会发现,仍然是没有的。
是哪里出了问题呢?
若依的权限控制该怎么做(超详细的图文教程)_第14张图片
3、我们回到管理员账号,进入角色管理,点击普通角色的修改按钮。我们发现,角色中的菜单管理权限中,刚添加的新增按钮的权限并没有勾选,因此也就不起作用。
我们将这里勾选上,然后再回到test账号。

若依的权限控制该怎么做(超详细的图文教程)_第15张图片
4、回到test账号,我们发现,新增按钮已经添加上了。
其他的按钮以此类推,也是这么个添加流程。

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

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

小结

步骤流程:

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

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

若依的权限控制该怎么做(超详细的图文教程)_第17张图片
若依的权限控制该怎么做(超详细的图文教程)_第18张图片
若依的权限控制该怎么做(超详细的图文教程)_第19张图片

你可能感兴趣的:(#,若依,java,vue.js,前端)