美文网首页代码改变世界
JeeSite | 访问控制权限

JeeSite | 访问控制权限

作者: 码农UP2U | 来源:发表于2019-10-22 21:23 被阅读0次

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

从手册开始

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


JeeSite 手册对权限的描述

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

给方法添加权限标志

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

菜单中设置权限标志

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


权限后台设置

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

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

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


权限列表页的显示

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

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

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

上面的第一段例子代码会判断用户是否具备 “ sys:user:edit ” 的权限,如果具备这个权限,则会显示“保存”按钮,如果不具备这个权限是不会显示“保存”按钮的。
  第二段权限,则是任何一个符合条件的权限被满足,都会显示“返回”按钮。
  一般在视图上控制好权限,在代码中是不需要进行判断的。如果视图没有控制的话,那么在代码中进行一下判断。



我的微信公众号:“码农UP2U”
我的公众号

相关文章

  • JeeSite | 访问控制权限

    在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全...

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • 进阶:访问控制权限

    访问控制权限 访问控制权限:private、protected、public、 默认。 private:私有的只...

  • Java编程思想(第四版)学习笔记(7)

    第六章 访问权限控制 1.访问权限控制的等级 从最大权限到最小权限依次为:public、protected、包访问...

  • java权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论...

  • 权限控制

    RBAC模式进行权限控制,即(Role-Based Access Control)基于角色的访问控制。实现权限访问...

  • 6、访问权限控制(封装)

    访问权限限制等级,从大到小依次为:public, protected, 包访问权限, private访问权限的控制...

  • Swift 访问控制 ⑭

    1. 访问控制权限 在访问权限控制这块,Swift提供了5个不同的访问控制级别(以下是从高到低排列,实体指被访问级...

  • Java访问控制符

    Java访问控制符的访问权限

  • laravel 之用户授权使用讲解

    版本 laravel5.2 应用场景 控制对资源的访问权限,这个权限不同于RBAC(角色的权限访问控制),比如,只...

网友评论

    本文标题:JeeSite | 访问控制权限

    本文链接:https://www.haomeiwen.com/subject/lphtvctx.html