From 4a6f1667cc40ae96cf797287e2f862e920f93130 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Thu, 5 Feb 2026 11:06:32 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为CustomCookieRememberMeManager类的两个核心方法添加详细JavaDoc注释 - 为ShiroConfig中的rememberMeManager方法添加详细注释 - 注释说明rememberMe cookie优化及权限恢复机制 --- .../com/ruoyi/framework/config/ShiroConfig.java | 13 +++++++++---- .../CustomCookieRememberMeManager.java | 16 ++++++++++++++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index 7872cb2a..7c8460b2 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -358,10 +358,15 @@ public class ShiroConfig return cookie; } - /** - * 记住我 - */ - public CustomCookieRememberMeManager rememberMeManager() + /** + * 记住我功能管理器Bean配置 + * + * 配置自定义的CookieRememberMeManager用于处理用户的"记住我"功能, + * 使用自定义实现以优化rememberMe cookie的大小,减少HTTP请求头体积 + * + * @return CustomCookieRememberMeManager 记住我管理器实例,配置了加密密钥和Cookie属性 + */ + public CustomCookieRememberMeManager rememberMeManager() { CustomCookieRememberMeManager cookieRememberMeManager = new CustomCookieRememberMeManager(); cookieRememberMeManager.setCookie(rememberMeCookie()); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/rememberMe/CustomCookieRememberMeManager.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/rememberMe/CustomCookieRememberMeManager.java index 81230927..3cd995e0 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/rememberMe/CustomCookieRememberMeManager.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/rememberMe/CustomCookieRememberMeManager.java @@ -21,7 +21,13 @@ import com.ruoyi.framework.shiro.service.SysLoginService; public class CustomCookieRememberMeManager extends CookieRememberMeManager { /** - * 记住我时去掉角色的permissions权限字符串,防止http请求头过大。 + * 记住我功能核心方法,重写父类方法以优化rememberMe cookie的大小 + * + * 在保存记住我信息时,暂时移除角色对象的permissions权限集合, + * 序列化主体信息后再恢复,以减少HTTP请求头的体积 + * + * @param subject Subject对象,包含当前用户的主体信息 + * @param principalCollection 用户身份信息集合,包含角色和权限数据 */ @Override protected void rememberIdentity(Subject subject, PrincipalCollection principalCollection) @@ -57,7 +63,13 @@ public class CustomCookieRememberMeManager extends CookieRememberMeManager } /** - * 取记住我身份时恢复角色permissions权限字符串。 + * 获取记住的用户身份信息,并恢复角色的权限集合 + * + * 当用户通过rememberMe cookie登录时,调用父类方法获取存储的身份信息, + * 然后通过SysLoginService重新加载并设置角色对应的权限信息 + * + * @param subjectContext SubjectContext上下文对象,包含请求相关的上下文信息 + * @return PrincipalCollection 用户身份信息集合,如果无记住的用户则返回null或空集合 */ @Override public PrincipalCollection getRememberedPrincipals(SubjectContext subjectContext) -- Gitee