Shiro安全框架01:核心概念
核心类:
Authentication
身份认证/登录,验证用户是不是拥有相应的身份;
Authorization
授权,即权限验证,验证某个已认证的用户是否拥有某个权限;
Session Manager
会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;
Cryptography
加密,保护数据的安全性
Web Support
Web支持,可以非常容易的集成到Web环境;
Caching
缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;
Concurrency
shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;
Testing
提供测试支持;
Run As
允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;
Remember Me
记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。
主要概念
Subject
当前的操作用户
可以是人
爬虫
当前跟软件交互的东西
在shiro当中我们可以统称"用户"
在代码的任何地方,你都能轻易的获得Shiro Subject。
一旦获得Subject,你就可以立即获得你希望用Shiro为当前用户做的90%的事情
登录、退、访问会话、执行授权检查等
SecurityManager
SecurityManager则管理所有用户的安全操作
引用了多个内部嵌套安全组件,是Shiro框架的核心
你可以把它看成DispatcherServlet前端控制器。
用于调度各种Shiro框架的服务
Realms
Realms则是用户的信息认证器和用户的权限认证器
执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容
Realm 可以理解为读取用户信息、角色及权限的 DAO
SecurityManager要验证用户身份与权限,那么它需要从Realm获取相应的信息进行比较以确定用户身份是否合法;
可以把Realm看成DataSource,即安全数据源。
名词介绍:
subject:主体
主体可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。
securityManager:安全管理器
主体进行认证和授权都是通过securityManager进行。
authenticator: 认证器
主体进行认证最终通过authenticator进行的。
authorizer: 授权器
主体进行授权最终通过authenticator进行的。
sessionManager:会话管理
web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。
sessionDao:
通过sessionDao管理session数据,
cacheManager: 缓存管理器
主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和 ehcache整合对缓存数据进行管理。
realm: 领域
相当于数据源,通过realm存取认证、授权相关数据。
cryptography: 密码管理
提供了一套加密/解密的组件,方便开发。比如 提供常用的散列、加/解密等功能。
- Shiro框架中有三个核心概念:Subject ,SecurityManager和Realms。
- Shiro安全框架的三大核心
- Shiro安全框架04:使用散列密码进行认证
- shiro安全框架扩展教程--如何防止可执行文件的入侵攻击【转】
- 安全认证框架Shiro(三)- 源码角度解析shiro的权限验证
- 【原创】基于Spring-SpringMVC-Mybatis 的 Shiro 安全框架使用教程--转载请注明出处
- 安全框架shiro入门示例
- shiro安全框架扩展教程--异常退出没有清除缓存信息处理方案
- 安全控制框架Shiro的使用
- AllJoyn核心应用教程【第一章】:框架与概念
- [笔记-架构探险]框架优化与功能扩展3.2.安全框架shiro、提供安全控制特性2-jsp页面标签和框架aop启用权限控制
- shiro安全框架扩展教程--如何扩展实现我们的缓存机制(第三方容器redis,memcached)
- Docker的三大核心概念-01
- Apache Shiro在web开发安全框架中的应用
- Shiro安全框架入门篇(登录验证实例详解与源码)
- shiro安全框架扩展教程--如何动态控制页面节点元素的权限
- shiro安全框架|基础知识:登录逻辑
- Spring-01 Spring核心概念
- 安全认证框架Shiro 二- shiro过滤器工作原理
- SSM集成Shiro安全框架(一)