安全框架-Shiro
2016-05-29 19:58
148 查看
什么是Shiro
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro能做什么
认证:验证用户来核实他们的身份授权:对用户执行访问控制,如: 判断用户是否被分配了一个确定的安全角色;判断用户是否被允许做某事;
会话管理:在任何环境下使用Session API,即使没有Web 或EJB 容器。
加密:以更简洁易用的方式使用加密的功能,保护或隐藏数据防止被偷窥。
Realms :聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。
启用 单点登录(SSO )功能。
为没有关联到登录的用户启用"Remember Me"服务。
Shiro有什么
Shiro的四大部分——身份验证,授权,会话管理和加密
Authentication:有时也简称为“登录”,这是证明用户是他们所说的他们是谁的行为。
Authorization:访问控制的过程,也就是绝对“谁”去访问“什么”。
Session Management:管理用户特定的会话,即使在非Web 或EJB 应用程序。
Cryptography:通过使用加密算法保持数据安全同时易于使用
Shiro的完整框架
Authenticator :是一个执行对用户的身份验证(登录)的组件。Authenticator 知道如何与一个或多个Realm 协调来存储相关的用户/帐户信息。从这些 Realm 中获得的数据被用来验证用户的身份来保证用户确实是他们所说的他们是谁。如果存在多个realm,则接口AuthenticationStrategy会确定什么样算是登录成功(例如,如果一个Realm成功,而其他的均失败,是否登录成功?)。
Authorizer :授权实质上就是访问控制 - 控制用户能够访问应用中的哪些内容,比如资源、Web页面等等。
SessionManager :提供可在任何应用或架构层一致地使用Session API。
SessionDAO:代表SessionManager 执行Session 持久化(CRUD)操作。
CacheManager :对Shiro的其他组件提供缓存支持。
Cryptography:Shiro的api大幅度简化java api中繁琐的密码加密
Realms:Realms 在Shiro 和你的应用程序的安全数据之间担当“桥梁”或“连接器”。简单的说,shiro通过Realms来获取相应的安全数据
相关文章推荐
- Open judge 06月度开销
- 《java入门第一季》模拟用户登陆注册案例集合版
- 《java入门第一季》模拟用户登陆注册案例集合版
- git 使用
- 蓝桥杯决赛之行的感悟
- 2016sdau课程练习专题三 1017
- 在notepad++中直接运行python代码
- 基于ExtJS 5+Hibernate 4.3+SpringMVC 4的通用后台管理系统 含源码
- Android.mk(a copy of the Google android_mk site)
- Centos 6.5 Tomcat 7 部署
- RxJava(五) onErrorResumeNext操作符实现app与服务器间token机制
- RxJava onErrorResumeNext操作符实现app与服务器间token机制
- 第十三周学习进度
- python变量的legb作用域规则
- 设计模式笔记-Composite模式
- DOMReady的实现
- Android获取某应用所申请的权限
- poj1686Lazy Math Instructor
- Unity3D KeyCode 值
- 全栈工程师笔记/记一个完整的项目流程