# 一小时学会apache-shiro **Repository Path**: lixk88/interprise-shiro ## Basic Information - **Project Name**: 一小时学会apache-shiro - **Description**: 一小时学会 apache-shiro - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-02 - **Last Updated**: 2022-08-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Shiro, Apache-Shiro ## README # 1小时学会apache-shiro #### 前言 初学者看见shiro 往往一脸闷逼,这里用最简单的程序,了解其运行原理 #### 类对比学习原理 1. LoginByIniController 2. LoginByUserRealmController 3. LoginByIniAndAuthorizationController 4. LoginByUserRealmAndAuthorizationController 4. 对比这4个简单的 controller 了解运行原理 #### apache-shiro要点 1. Subject(用户):当前的操作用户 获取当前用户Subject currentUser = SecurityUtils.getSubject() 2. SecurityManager(安全管理器):Shiro的核心,负责与其他组件进行交互,实现 subject 委托的各种功能 3. Realms(数据源) :Realm会查找相关数据源,充当与安全管理间的桥梁,经过Realm找到数据源进行认证,授权等操作 4. Authenticator(认证器): 用于认证,从 Realm 数据源取得数据之后进行执行认证流程处理。 5. Authorizer(授权器):用户访问控制授权,决定用户是否拥有执行指定操作的权限。 6. SessionManager (会话管理器):支持会话管理 7. CacheManager (缓存管理器):用于缓存认证授权信息 8. Cryptography(加密组件):提供了加密解密的工具包 #### 学习认证+授权(初学者看见这两个单词,往往一脸懵逼) #### 单词 -- 认证 1. Authentication 认证 2. Authenticating 认证 #### 单词 -- 授权 1. Authorize 授权 2. Authorization 授权 3. Authorizing 授权