解决方式如下:
方案一.升级shiro至最新版本
方案二.保持shiro版本不变,修改rememberMe默认密钥,改为自定义密钥获取
com.msunsoft.framework.config.ShiroConfig:
将其改为以下内容:
// 设置cipherKey密钥
@Value("${shiro.cookie.cipherKey}")
private String cipherKey;
/**
* cookie管理对象;记住我功能
* @return
*/
public CookieRememberMeManager rememberMeManager(){
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();
cookieRememberMeManager.setCookie(rememberMeCookie());
//rememberMe cookie加密的密钥 建议每个项目都不一样 默认AES算法 密钥长度(128 256 512 位)
cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
return cookieRememberMeManager;
}
cipherKey生成方法
引入hutool工具类
byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
String sey = Base64.encode(key);
System.out.println(sey);
注:yml中别忘了配置shiro.cookie.cipherKey相关参数