文档章节

Shiro权限设计基础-权限和验证

boonya
 boonya
发布于 2014/11/20 13:15
字数 1217
阅读 1052
收藏 4
点赞 0
评论 0

安全实体就是被权限系统保护的对象,比如工资数据。

权限就是需要被校验的权限对象,比如查看、修改等。

 

n安全实体和权限通常要一起描述才有意义:

         比如有这么个描述:“现在要检测登录人员对工资数据是否有查看的权限”, “工资数据”这个安全实体和“查看”这个权限一定要一起描述。如果只出现安全实体描述,那就变成这样:“现在要检测登录人员对工资数据”,对工资数据干什 么呀,没有后半截,一看就知道不完整;当然只有权限描述也不行,那就变成:“现在要检测登录人员是否有查看的权限”,对谁的查看权限啊,也不完整。所以安 全实体和权限通常要一起描述。

 

n了解了上面两个名词,来看看什么是分配权限和验证权限:

       所谓分配权限是指:把对某些安全实体的某些权限分配给某些人员的过程;而验证权限是指:判断某个人员或程序对某个安全实体是否拥有某个或某些权限的过程。

       也就是说,分配权限过程即是权限的分配过程,而验证权限过程则是权限的匹配过程。在目前应用系统的开发中,多数是利用数据库来存放授权过程产生的数据,也 就是说:分配权限是向数据库里面添加数据、或是维护数据的过程,而验证权限过程就变成了从数据库中获取相应数据进行匹配的过程了。

 

n再来介绍一下验证权限涉及到的两个名词:


1、n权限的继承性

        如果多个安全实体存在包含关系,而某个安全实体没有相应的权限限制,那么它会继承包含它的安全实体的相应权限。 比如:某个大楼和楼内的房间都是安全实体,很明显大楼这个安全实体会包含楼内的房间这些安全实体,可以认为大楼是楼内房间的父级实体。现在来考虑一个具体 的权限——进入某个房间的权限。如果这个房间没有门,也就是谁都可以进入,相当于这个房间对应的安全实体,没有进入房间的权限限制,那么是不是说所有的人 都可以进入这个房间呢?当然不是,某人能进入这个房间的前提是:这个人要有权限进入这个大楼,也就是说,这个时候房间这个安全实体,它本身没有进入权限的 限制,但是它会继承父级安全实体的进入权限。

2、n权限的最近匹配原则

       如果多个安全实体存在包含关系,而某个安全实体没有相应的权限限制,那么它会向上寻找并匹配相应权限限制,直到找到一个离这 个安全实体最近的拥有相应权限限制的安全实体为止。如果把整个层次结构都寻找完了都没有匹配到相应权限限制的话,那就说明所有人对这个安全实体都拥有这个 相应的权限限制。  继续上面权限继承性的例子,如果现在这个大楼是坐落在某个机关大院内,这就演变成了,要进入某个房间,首先要有进入大楼的权限,要进入大楼又需要有能进入机关大院的权限。

       所谓最近匹配原则就是,如果某个房间没有门,也就意味着这个房间没有进入的权限限制,那么它就会向上继续寻找并匹配,看看大楼有没有进入的权限限制,如果 有就使用这个权限限制,终止寻找;如果没有,继续向上寻找,直到找到一个匹配的为止。如果最后大院也没有进入的权限限制,那就变成所有人都可以进入到这个 房间里面来了。 

私塾在线原创,转载请注明http://sishuok.com/forum/blogPost/list/0/7450.html


本文转载自:http://sishuok.com/forum/blogPost/list/7450.html;jsessionid=C80F0E848FB96291C0926420CB38C104

共有 人打赏支持
boonya
粉丝 72
博文 214
码字总数 43922
作品 0
成都
高级程序员
转:springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

芝麻绿豆
2017/07/25
524
0
springboot(十四):springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用Spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

ityouknow
2017/06/28
0
0
springboot(十四):springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用Spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

纯洁的虫纸
2017/06/28
0
0
JeeWeb敏捷开发平台/jeeweb

JeeWeb敏捷开发平台 QQ交流群: 570062301 官方网站: https://www.jeeweb.cn 官方论坛: http://bbs.jeeweb.cn 项目演示: https://demo.jeeweb.cn 简介 JeeWeb是一款基于SpringMVC+Spring+...

JeeWeb敏捷开发平台
2017/07/06
0
0
JeeWeb敏捷开发平台/jeeweb-mybatis

JeeWeb敏捷开发平台(Mybatis) QQ交流群: 570062301(满)、522959928 官方网站: https://www.jeeweb.cn 文档地址: https://doc.jeeweb.cn 项目演示: https://mybatis.jeeweb.cn 简介 JeeW...

JeeWeb敏捷开发平台
2017/07/24
0
0
Java Web 快速开发平台 --JeeWeb

JeeWeb敏捷开发平台 官方网站: https://www.jeeweb.cn 官方论坛: http://bbs.jeeweb.cn 项目演示: https://demo.jeeweb.cn github地址: https://github.com/white-cat/jeeweb Myeclipse非......

JeeWeb
2017/07/06
5.1K
6
SSM(三)Shiro使用详解

前言 相比有做过企业级开发的童鞋应该都有做过权限安全之类的功能吧,最先开始我采用的是建,,,之后在拦截器中对每一个请求进行拦截,再到数据库中进行查询看当前用户是否有该权限,这样的设...

crossoverJie
2016/07/15
4.7K
19
《跟我学Shiro》系列教程PDF完结版下载

Shiro目录 第一章 Shiro简介 第二章 身份验证 第三章 授权 第四章 INI配置 第五章 编码/加密 第六章 Realm及相关对象 第七章 与Web集成 第八章 拦截器机制 第九章 JSP标签 第十章 会话管理 ...

HenrySun
2016/10/09
141
0
【shiro】一、基础概念

来源:http://blog.csdn.net/swingpyzf/article/details/46342023/ &&&& http://jinnianshilongnian.iteye.com/blog/2018936 什么是Apache Shiro 1、什么是 apache shiro : Apache Shiro是一......

angel挤一挤
2016/07/05
0
0
springboot系列(二):Apache Shiro安全框架的简单使用

上一篇文章中实践了原始方式实现的登录验证的过程,了解了关于登录验证的一些简单原理。然而在实际项目的开发中,这种方式并不能满足实际安全的需求,而是借助一些框架来实现。目前,Apache ...

ijustdarren
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

全新内存布局Android5 for one x

众所周知Android5.0默认ART模式,运行速度加倍,软件占用内存也加倍,我们one x这种元老机采用旧的内存布局,data空间2g ART模式下安装几个软件也就不够用了。最近逛国外的xda论坛,发现有大...

CrazyManDF
4分钟前
0
0
web3j转账

 web3 转账功能   为了完成以太坊交易,必须有几个先决条件   1、对方的以太坊地址   2、确定要转账的金额   3、自己地址的转账权限   4、大于转账金额的以太币,以太币转账其实就...

智能合约
4分钟前
0
0
10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步

rsync远程同步 重点!重点!!重点!!! 例子 • rsync -av /etc/passwd /tmp/1.txt • rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt rsync格式 • rsync [OPTION] … SRC DEST • rs......

Linux_老吴
18分钟前
0
0
iis php 环境搭建,非常详细的教程

准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PHP下载地址: http://windows.php.net/downloads/releases/ph...

T_star
20分钟前
0
0
Day35 rsync通过服务同步

rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口。 log file:指定日志文件。 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等...

杉下
26分钟前
1
0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
26分钟前
0
0
rsync至ssh同步

rsync: 文件同步工具,可实现“增量拷贝”;使用yum安装rsync包 常用选项:-a=-rtplgoD (-r同步目录,-t保持文件的时间属性,-p保持文件的权限属性,-l保持软连接,-g保持文件的属组,-o保持...

ZHENG-JY
31分钟前
0
0
TradingView 学习笔记

#前言 公司最后需要使用TradingView展示K线图走势。由于之前没接触过,拿到文档时一脸蒙逼。还好找到二篇文章+Demo代码,直接改改就行了。 #被批 由于上面的懵懂,有个问题困扰4个小时没解决...

hihubs
31分钟前
0
0
10.28 rsync工具介绍~10.31 rsync通过ssh同步

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

洗香香
34分钟前
1
0
卷积为什么要旋转180度

参考《最容易理解的对卷积(convolution)的解释》 https://blog.csdn.net/bitcarmanlee/article/details/54729807 这篇博客详细讲解了“卷积”,提及了为什么要反转180度,我简述下。 1.卷积的...

datadev_sh
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部