博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shiro系列(1) - 权限管理的介绍与原理
阅读量:6801 次
发布时间:2019-06-26

本文共 998 字,大约阅读时间需要 3 分钟。

1. 什么是权限管理

        一般来说,只要有用户参与,那么该系统都会需要权限管理,权限管理实现了对用户访问系统  指定功能的限制,按照管理员定义的安全规则或权限策略,限制用户只能访问自己被授权的那些资源路径。

        权限管理包括用户认证和授权两部分(俗称登录和鉴权)。也就是说先要进行用户的登录,登录以后会对用户访问的功能模块(即:访问资源的url路径)进行权限验证。

 

2. 用户认证(用户登录)

        身份认证,简单来说就是登录。检验一个用户是否为合法用户的业务处理过程。最常见的方式为系统对用户输入的用户名和密码判断是否匹配数据库中的记录。

        除此之外还有指纹认证,一卡通认证,脸部扫描,这些都需要硬件设备,比如指纹采集仪,pose机,刷脸(脸部识别系统/iphoneX)等。

 

3. 登录认证流程

流程中的出现主要对象:

Subject:主体,大部分情况下就是用户,但也可以是api接口(rest服务,手机端访问等),去访问系统的功能,系统需要对Subject进行身份认证。

Principal:身份信息,一般来说是唯一的,一个主体可以有多个身份,但是都有一个主身份信息(primary principal)。主要体现在账户系统和子账户。

Credential:凭证token,可以是密码 、证书、指纹、人脸等。

总结一句话:主体用户在进行身份认证时需要提供身份信息和凭证信息。简单来说就是登录。

 

 

 

4. 用户授权(验证用户是否拥有访问的权限)

        授权,即访问控制,控制用户能否访问哪些资源。在用户进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的

 

流程中的出现主要对象:

Subject:主体,此时的主体已经经过登录之后认证过了的。

Resource:主体用户所访问的资源或者功能。比如用户要删除一个员工记录,这个员工记录在数据库中的主键pid为1001,那么这个资源就是1001这条在数据库中所对应的记录。在java中就是一个对象。或者查询所有员工的页面,这些员工所在数据库中的数据集也是这个资源resource。

Permission:凭证token,可以是密码 、证书、指纹、人脸等。

总结一句话:[主体用户] 对 [资源] 进行 [增删改查] 的操作

 

 

<未完待续...>

具体内容同步更新文章以及视频到公众号,知乎,豆瓣,cnblogs以及新浪微博,以官网itzixi.com为主

 

转载地址:http://gxuwl.baihongyu.com/

你可能感兴趣的文章
什么场景应该用 MongoDB ?
查看>>
python学习:猜数字游戏
查看>>
Linux 进程、线程运行在指定CPU核上
查看>>
iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
查看>>
微软自然语言理解平台LUIS:从零开始,帮你开发智能音箱
查看>>
Centos创建用户
查看>>
视频列表
查看>>
python2 和 python3 区别
查看>>
cd4与cd8比值的意义
查看>>
【配置】log4j.properties 详解与配置步骤
查看>>
js页面载入特效如何实现
查看>>
C#委托和事件
查看>>
TPrinter控制票據打印機
查看>>
Pidgin 插件法解决Ubuntu11.10 QQ
查看>>
你好,WPF
查看>>
iOS开发视频教程下载/iphone开发视频教程下载
查看>>
[转]Android SurfaceView 绘图及帧频处理方法修正
查看>>
读《C++ Primer Plus》的总结
查看>>
每天一点Linux --- 中断键和退出键
查看>>
Python+Django静态文件配置
查看>>