"shiro教程-张开涛"
Apache Shiro 是一个强大且易用的 Java 安全框架,提供认证、授权、加密和会话管理功能,可简化开发出安全的应用程序。张开涛的 Shiro 教程深入浅出地讲解了 Shiro 的核心概念和实践方法。
1. **SHIRO简介**
Shiro 是一个轻量级的安全框架,它不依赖于 Servlet API,因此可以用于 JavaSE 环境以及 JavaEE 环境。Shiro 的主要目标是提供易于使用、功能全面的安全解决方案,使得开发者能够轻松处理认证、授权、加密以及会话管理等安全问题。
2. **身份验证(Authentication)**
身份验证是指确认用户身份的过程。教程中涵盖了环境准备、登录/退出的实现、身份认证流程、REALM( Realm 是 Shiro 与应用数据源交互的接口)、AUTHENTICATOR(负责验证用户身份的组件)以及 AUTHENTICATIONSTRATEGY(认证策略)等内容。
3. **授权(Authorization)**
授权是确定用户是否具有执行特定操作的权限。教程中讲解了授权方式、如何进行权限(PERMISSION)的管理、授权流程、AUTHORIZER(负责进行权限判断的组件)、PERMISSIONRESOLVER(解析权限字符串的组件)以及 ROLEPERMISSIONRESOLVER(角色权限解析器)的使用。
4. **INI配置**
Shiro 提供了 INI 配置方式,使得安全设置变得简单。教程中介绍了如何配置根对象 SECURITYMANAGER 以及相关的 INI 配置。
5. **编码/加密(Coding & Cryptography)**
Shiro 提供了编码/解码、散列算法和加密/解密的功能。教程中讲解了 PASSWORDSERVICE(用于密码处理的服务)和 CREDENTIALSMATCHER(用于匹配凭证的接口),这些在处理用户密码时非常有用。
6. **REALM及相关对象**
REALM 是 Shiro 与应用数据源交互的核心,它负责获取用户的身份信息和权限信息。教程中详细介绍了 REALM、AUTHENTICATIONTOKEN(表示用户提交的认证信息的令牌)、AUTHENTICATIONINFO(表示认证信息的对象)、PRINCIPALCOLLECTION(主体集合,包含用户的主要标识)、AUTHORIZATIONINFO(权限信息)以及 SUBJECT(Shiro 中的中心概念,代表当前操作系统中的用户)。
7. **与WEB集成**
Shiro 可以方便地与 Web 应用集成,教程中包括了准备环境、SHIROFILTER(过滤器配置)以及 WEB-INF 配置的讲解。
8. **拦截器机制**
Shiro 使用拦截器来处理请求,提供了拦截器链的概念,允许自定义拦截器并结合默认拦截器一起工作,以实现更复杂的控制逻辑。
9. **JSP标签**
Shiro 提供了 JSP 标签库,方便在视图层进行权限控制。
10. **会话管理(Session Management)**
Shiro 的会话管理包括会话的创建、更新、销毁以及会话的持久化。教程中涵盖了会话管理器、会话监听器、会话存储/持久化和会话验证等重要概念。
11. **缓存机制**
Shiro 支持缓存管理,以提高性能。REALM 缓存和 SESSION 缓存的配置和使用在教程中都有详细解释。
12. **与SPRING集成**
Shiro 可以无缝集成到 Spring 框架中,教程中展示了在 JavaSE 和 Web 应用中如何集成 Shiro,并介绍了 Shiro 的权限注解使用。
这个教程不仅覆盖了 Shiro 的基础概念,还深入到实际应用,包括源码分析,对于理解和掌握 Shiro 的使用非常有帮助。