Shiro入门
来源:互联网 发布:淘宝主图视频内存大小 编辑:程序博客网 时间:2024/06/01 19:09
1,基本概念
安全实体:就是被权限系统保护的对象,比如工资数据。
权限:就是需要被校验的权限对象,比如查看、修改等。
所谓分配权限是指:把对某些安全实体的某些权限分配给某些人员的过程。
所谓验证权限是指:判断某个人员或程序对某个安全实体是否拥有某个或某些权限
的过程。
2,Shiro是什么和能干什么
Shiro是什么
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能
n Shiro能做什么
认证:验证用户来核实他们的身份
授权:对用户执行访问控制,如:
判断用户是否被分配了一个确定的安全角色
判断用户是否被允许做某事
会话管理:在任何环境下使用Session API,即使没有Web 或EJB 容器。
加密:以更简洁易用的方式使用加密的功能,保护或隐藏数据防止被偷窥
Realms:聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户
“视图”。
启用单点登录(SSO)功能。
为没有关联到登录的用户启用"Remember Me"服务
3,Shiro有什么-1
n Shiro的四大部分——身份验证,授权,会话管理和加密
Authentication:有时也简称为“登录”,这是证明用户是他们所说的他们是谁的行为。
Authorization:访问控制的过程,也就是绝对“谁”去访问“什么”。
Session Management:管理用户特定的会话,即使在非Web 或EJB 应用程序。
Cryptography:通过使用加密算法保持数据安全同时易于使用
shiro还提供很多扩展
Web Support:主要针对web应用提供一些常用功能。
Caching:缓存可以使应用程序运行更有效率。
Concurrency:多线程相关功能。
Testing:帮助我们进行测试相关功能
"Run As":一个允许用户假设为另一个用户身份(如果允许)的功能,有
时候在管理脚本很有用。
“Remember Me”:记住用户身份,提供类似购物车功能。
4,Shiro的高层概览架构-1
Subject
Subject 实质上是一个当前执行用户的特定的安全“视图”。Subject 可以是一个
人,也可以代表第三方服务,或其他类似的任何东西——基本上是当前正与软件进行交互
的任何东西。
所有Subject 实例都被绑定到(且这是必须的)一个SecurityManager 上。当你与
一个Subject 交互时,那些交互作用转化为与SecurityManager 交互的特定subject 的交
互作用。
SecurityManager
SecurityManager 是Shiro 架构的心脏,用来协调内部的安全组件共同构成一个对
象图,管理内部组件实例,并通过它来提供安全管理的各种服务。
实际开发中,程序人员主要与Subject交互,但是要认识到,当你正与一个Subject
进行交互时,实质上是幕后的SecurityManager 处理所有繁重的Subject 安全操作。
n Realms
Realms 担当Shiro 和你的应用程序的安全数据之间的“桥梁”或“连接器”。当它
实际上与安全相关的数据如用来执行身份验证(登录)及授权(访问控制)的用户帐户交
互时,Shiro 从一个或多个为应用程序配置的Realm 中寻找许多这样的东西。
Realm 本质上是一个特定安全的DAO:它封装了数据源的连接详细信息,使Shiro 所
需的相关的数据可用。当配置Shiro 时,你必须指定至少一个Realm 用来进行身份验证和/
或授权。SecurityManager可能配置多个Realms,但至少有一个是必须的。
Shiro 提供了立即可用的Realms 来连接一些安全数据源(即目录),如LDAP,关系
数据库(JDBC),文本配置源,像INI 及属性文件,以及更多。你可以插入你自己的Realm
实现来代表自定义的数据源,如果默认地Realm 不符合你的需求。
5,Shiro的完整架构-1
以上 出资 深入浅出 Shiro
- shiro入门
- shiro入门
- Shiro入门
- shiro入门
- shiro入门
- Shiro 入门
- Shiro 入门
- Shiro 入门
- Shiro 入门
- shiro入门
- shiro入门
- shiro入门
- shiro入门
- shiro入门
- Shiro入门(1)
- shiro入门(1)
- shiro入门实例
- shiro入门实例
- 【办公采购系统】系统中遇到的问题汇总(一)——模板页使用
- oj数据结构题谜之输出格式
- 华为老总推荐的文章
- googletest mock设置 编译器选项 vs下
- 搜索算法11之1016
- Shiro入门
- 如何在未知链表中找到一个中间节点
- 异步选择WSAAsyncSelect
- Light Bulb-------三分查找
- crc计算
- xmemcached缓存
- git基础命令整理
- 最长公共子序列(LCS问题)的DP解法
- 【BZOJ3997】组合数学,总之是DP就对了