JeeSite 访问控制权限

本文涉及的产品
访问控制,不限时长
简介: JeeSite 访问控制权限

  在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全。功能权限管控是对针对不同的角色可以进行不同的功能操作,而数据权限管控是针对不同的角色可以查看不同的数据。这篇文章主要介绍 JeeSite 中对功能权限的管控,也就是访问控制权限的使用,关于数据权限的部分请参考以前的文章:JeeSite | 数据权限应用

 

从手册开始

  JeeSite 开源项目集成了 shiro 这个权限控制框架,我本身不了解 shiro ,但是不了解 shiro 是不影响使用的 JeeSite 的功能权限管理的。先来看看 JeeSite 手册对权限这部分的介绍,引用手册内容如下图。

11111.png  从手册上看, JeeSite 的功能权限控制需要进行四个方面的设置,分别是给 Controller 的方法添加权限标志,在菜单中设置权限标识,在代码中判断权限,当然还有是在视图中添加权限标签。

 

给方法添加权限标志

  给方法添加标志这部分是至关重要的一步,它标志着访问该 Controller 方法时的权限,一般在使用代码生成工具时,默认会生成 view 和 edit 两种权限,分别对应着“查看”和“修改”的权限。在 Controller 中完全可以自己定义其他类型的权限,比如 import 、 export 等。

 

菜单中设置权限标志

  这一步是在添加菜单时完成的。添加菜单的页面如下:

22222.png

  在添加菜单部分有四个比较重要的内容:

  • 名称:即菜单的名称;
  • 链接:菜单对应的 Controller ;
  • 可见:该项菜单是否可以见;
  • 权限标识:这个权限标识就是在 Controller 中定义的方法权限标志


  一般在维护的时候,需要把菜单和权限分开,分开以后才能进行具体的权限赋值。如果是维护菜单的话,那么就维护“名称”和“链接”,然后“可见”为“显示”。添加好菜单后,在菜单的下级维护权限。维护权限的时候,需要维护“名称”和“权限标识”,不需要维护“链接”,“可见”维护为“隐藏”。维护完以后的菜单列表如下图所示。

33333.png

判断权限和视图中控制按钮

  在视图中加入权限控制的判断,就会显示时会根据权限显示相关的内容,比如手册中的例子,代码如下:

<shiro:hasPermissionname="sys:user:edit"><inputid="btnSubmit"class="btn btn-primary"type="submit"value="保 存"/>&nbsp;
</shiro:hasPermission><!--任何一个符合条件的权限--><shiro:hasAnyPermissionsname="sys:user:view, sys:user:edit,"><inputid="btnSubmit"class="btn btn-primary"type="submit"value="返 回"/>&nbsp;
</shiro: hasAnyPermissions>

  上面的第一段例子代码会判断用户是否具备 “ sys:user:edit ” 的权限,如果具备这个权限,则会显示“保存”按钮,如果不具备这个权限是不会显示“保存”按钮的。

  第二段权限,则是任何一个符合条件的权限被满足,都会显示“返回”按钮。

  一般在视图上控制好权限,在代码中是不需要进行判断的。如果视图没有控制的话,那么在代码中进行一下判断。

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
7天前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
42 7
|
6月前
|
安全 网络安全 数据安全/隐私保护
【专栏】IT 知识百科:访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限
【4月更文挑战第28天】访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限。ACL工作原理包括定义规则、匹配规则和执行操作。标准ACL基于源IP过滤,扩展ACL则提供更多筛选条件。时间及用户基础的ACL提供更细化的控制。优点在于增强安全性和精细管理,但管理复杂性和性能影响也是挑战。未来,ACL将趋向智能化和自动化,与更多安全技术结合,以提升网络安全。**
404 0
|
5月前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
34 0
|
6月前
|
数据库 数据安全/隐私保护
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
661 3
|
6月前
|
存储 数据安全/隐私保护 C++
第十五章:C++访问控制权限、继承和多态详解
第十五章:C++访问控制权限、继承和多态详解
289 0
|
11月前
|
分布式计算 DataWorks MaxCompute
在DataWorks中进行数据访问控制权限申请
在DataWorks中进行数据访问控制权限申请
146 1
|
安全 网络安全 数据安全/隐私保护
修复ICMP权限许可和访问控制漏洞
修复ICMP权限许可和访问控制漏洞
508 0
|
存储 安全 API
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(下)
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(下)
898 0
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(下)
|
存储 JSON 前端开发
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
419 0
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
|
Java 数据安全/隐私保护 开发者
Java 包及访问控制权限
学习内容: 掌握包的定义及使用。 掌握Java新特性一一静态导入。 了解Java中的常用系统包。 掌握jar命令的使用。 掌握Java中的4种访问权限。 掌握Java语言的命名规范。
157 0
Java 包及访问控制权限