跟我学Shiro:从入门到精通

需积分: 29 1 下载量 178 浏览量 更新于2024-07-19 收藏 4.16MB PDF 举报
"Shiro教程由张开涛提供,是一份全面介绍Apache Shiro框架的教程。教程涵盖了Shiro的基本概念、身份验证、授权、配置、编码与加密、REALM及相关对象、Web集成、拦截器机制、JSP标签、会话管理、缓存机制以及与Spring的集成等内容,旨在帮助学习者深入理解和应用Shiro进行权限控制。 1. **SHIRO简介**:Shiro是一个强大且易用的Java安全框架,提供了认证、授权、会话管理和加密等功能,适用于各种类型的Java应用程序,包括Web应用、移动应用等。 2. **身份验证**:Shiro的身份验证(Authentication)过程包括环境准备、登录/退出、身份认证流程、REALM( Realm是Shiro与应用程序特定的安全存储的桥梁,如数据库)、AUTHENTICATOR(认证器)和AUTHENTICATIONSTRATEGY(认证策略)。 3. **授权**:授权(Authorization)部分介绍了不同的授权方式、如何执行授权操作、PERMISSION(权限)的概念、授权流程,以及AUTHORIZER、PERMISSIONRESOLVER和ROLEPERMISSIONRESOLVER的角色。 4. **INI配置**:Shiro的配置主要是通过INI文件完成,包括根对象SECURITYMANAGER的配置和具体的INI配置细节。 5. **编码/加密**:这部分讲解了Shiro中的编码解码、散列算法和加密解密技术,以及PASSWORDSERVICE和CREDENTIALSMATCHER在密码验证中的作用。 6. **REALM及相关对象**:REALM是Shiro的核心组件,负责获取和验证用户身份信息。教程还涉及AUTHENTICATIONTOKEN(认证令牌)、AUTHENTICATIONINFO(认证信息)、PRINCIPALCOLLECTION(主体集合)、AUTHORIZATIONINFO(授权信息)以及SUBJECT(主体)的概念和使用。 7. **与WEB集成**:Shiro可以方便地与Web应用集成,教程涵盖了准备环境、SHIROFILTER的设置、WEB INI配置等内容。 8. **拦截器机制**:Shiro使用拦截器实现权限控制,包括拦截器介绍、拦截器链的构建、自定义拦截器以及默认拦截器的使用方法。 9. **JSP标签**:Shiro提供了JSP标签库,简化了在页面上的权限控制。 10. **会话管理**:会话管理涉及到会话的创建、管理、监听器以及会话存储/持久化和会话验证,包括SESSIONFACTORY的使用。 11. **缓存机制**:Shiro支持REALM缓存和SESSION缓存,以提高性能和减少数据库交互。 12. **与SPRING集成**:教程最后讲解了如何在JavaSE应用和Web应用中集成Shiro,并使用Shiro权限注解进行权限控制。 通过这个教程,读者将能够系统地学习和掌握Apache Shiro的各种特性和用法,从而在实际项目中有效地实现权限控制和安全管理。