允许手动设置对称加密秘钥
parent
f63590c116
commit
b57f68ed27
|
@ -108,6 +108,8 @@ shiro:
|
||||||
httpOnly: true
|
httpOnly: true
|
||||||
# 设置Cookie的过期时间,天为单位
|
# 设置Cookie的过期时间,天为单位
|
||||||
maxAge: 30
|
maxAge: 30
|
||||||
|
# 设置密钥,务必保持唯一性(生成方式,直接拷贝到main运行即可)Base64.encodeToString(CipherUtils.generateNewKey(128, "AES").getEncoded()) (默认启动生成随机秘钥,随机秘钥会导致之前客户端RememberMe Cookie无效,如设置固定秘钥RememberMe Cookie则有效)
|
||||||
|
cipherKey:
|
||||||
session:
|
session:
|
||||||
# Session超时时间,-1代表永不过期(默认30分钟)
|
# Session超时时间,-1代表永不过期(默认30分钟)
|
||||||
expireTime: 30
|
expireTime: 30
|
||||||
|
|
|
@ -8,6 +8,7 @@ import java.util.Map;
|
||||||
import javax.servlet.Filter;
|
import javax.servlet.Filter;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.shiro.cache.ehcache.EhCacheManager;
|
import org.apache.shiro.cache.ehcache.EhCacheManager;
|
||||||
|
import org.apache.shiro.codec.Base64;
|
||||||
import org.apache.shiro.config.ConfigurationException;
|
import org.apache.shiro.config.ConfigurationException;
|
||||||
import org.apache.shiro.io.ResourceUtils;
|
import org.apache.shiro.io.ResourceUtils;
|
||||||
import org.apache.shiro.mgt.SecurityManager;
|
import org.apache.shiro.mgt.SecurityManager;
|
||||||
|
@ -104,6 +105,12 @@ public class ShiroConfig
|
||||||
@Value("${shiro.cookie.maxAge}")
|
@Value("${shiro.cookie.maxAge}")
|
||||||
private int maxAge;
|
private int maxAge;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置cipherKey密钥
|
||||||
|
*/
|
||||||
|
@Value("${shiro.cookie.cipherKey}")
|
||||||
|
private String cipherKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录地址
|
* 登录地址
|
||||||
*/
|
*/
|
||||||
|
@ -351,7 +358,14 @@ public class ShiroConfig
|
||||||
{
|
{
|
||||||
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();
|
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();
|
||||||
cookieRememberMeManager.setCookie(rememberMeCookie());
|
cookieRememberMeManager.setCookie(rememberMeCookie());
|
||||||
cookieRememberMeManager.setCipherKey(CipherUtils.generateNewKey(128, "AES").getEncoded());
|
if (StringUtils.isNotEmpty(cipherKey))
|
||||||
|
{
|
||||||
|
cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cookieRememberMeManager.setCipherKey(CipherUtils.generateNewKey(128, "AES").getEncoded());
|
||||||
|
}
|
||||||
return cookieRememberMeManager;
|
return cookieRememberMeManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue