
00014
思考:一个HTTP请求从客户端发送过来,需要用到哪些
对象来协同做事?这些对象都来自哪个框架?在这些对象中,哪些对象是由Springframework来管理的?
思考:Shiro安全框架的作用?
答:
认证拦截/认证/授权查询/权限控制/加密/会话管理
Shiro安全框架概述
Shiroframework是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证/权限授权/密码加密/会话管理等功能,组成一个通用的安全认证框架,使用Shiro就可以非常快速的完成认证/授权等功能的开发,降低系统成本。
用户资源访问控制流程图
Shiroframework概念架构
Shiro架构包含三个主要的理念:Subject/SecurityManager/Realm
Shiro概念架构图
Shiroframework详细架构
Shiro核心架构图
说明:通过Shiro框架进行权限管理时,要涉及到的一些核心对象,主要包括:
Subject(主体对象):与软件交互的一个特定的实体(用户/第三方服务等)
SecurityManager(安全
管理器):Shiro的核心对象,用来协调管理组件工作。
Authenticator(认证管理器):负责执行认证 *** 作
Authorizer(授权管理器):负责授权检测
SessionManager(会话管理器):负责创建并管理用户Session生命周期,提供一个强有力的Session体验。
SessionDAO(会话管理器代表者):代表SessionManager执行Session持久(CRUD) *** 作,它允许任何存储的数据挂接到Session管理基础上。
CacheManager(缓存管理器):提供创建缓存实例和管理缓存生命周期的功能。
Cryptography(加密管理器):提供加密方式的设计及管理。
Realms(领域对象):是Shiro和你的应用程序安全数据之间的桥梁。
Spring整合Shiro实现Shiro认证拦截
说明:所谓认证拦截就是当用户访问非匿名资源时候,需要进行身份信息认证,也就是登录。
在项目中添加Shiroframework框架依赖
org.apache.shiro
shiro-spring
1.3.2
配置Shiro核心对象
创建spring-shiro.xml核心配置文件,并添加如下配置
注意:Tomcat启动时会加载此配置文件
配置SecurityManager对象
配置ShiroFilterFactoryBean对象
评论列表(0条)