一、 Apache Shiro的了解和认识
Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证、授权、加密和会话管理等。
与Spring Security相比较,Shiro使用了比较简单易懂的认证、授权方式。
Shiro完整架构图:
Apache的三大核心组件:
1. Subject:当前用户的操作
2. SecurityManager:用户管理所有的Subject
3. Realms:用于进行权限信息的验证
Subject:即当前用户,Shiro通过Subject来提供基础的当前用户信息
SecurityManager:即所有Subject的管理者,这是Shiro框架的核心组件,管理者所有Subject且负责着进行认证、授权、会话和缓存的管理。
Realms:Realms则是用户的信息认证器和用户的权限认证器,我们需要自己来实现Realms自定义管理我们系统内部的权限规则。
二、 Authentication和Authorization
在Shiro的用户权限认证过程中其通过两个方法来实现:
1. Authentication:是验证用户身份的过程。
2. Authorization:是授权访问控制,用于对用户进行的操作进行认证授权。
其他组件:
1. SessionManager:Shiro为任何应用提供了一个会话编程范式。
2. CacheManager:对Shiro的其他组件提供缓存支持。
3. Cryptography:密码模块,Shiro提高了一些常见的密码组件用于加密解密。
三、 引入Apache Shiro到项目开发
1. 在配置好Spring和SpringMVC后,引入Shiro以及Shiro集成到Spring的包,Maven添加依赖:
<properties>
<shiro.version>1.3.2</shiro.version>
</properties>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>${shiro.version}</version>
</dependency>
2. 定义Shiro拦截器
http://blog.csdn.net/u013142781/article/details/50629708 学习学习