|
|
@ -26,6 +26,8 @@ import org.springframework.context.annotation.Bean; |
|
|
import org.springframework.context.annotation.Configuration; |
|
|
import org.springframework.context.annotation.Configuration; |
|
|
import org.springframework.context.annotation.Profile; |
|
|
import org.springframework.context.annotation.Profile; |
|
|
|
|
|
|
|
|
|
|
|
import javax.crypto.KeyGenerator; |
|
|
|
|
|
import javax.crypto.SecretKey; |
|
|
import javax.servlet.Filter; |
|
|
import javax.servlet.Filter; |
|
|
import java.util.LinkedHashMap; |
|
|
import java.util.LinkedHashMap; |
|
|
|
|
|
|
|
|
@ -346,20 +348,39 @@ public class ShiroConfig { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 记住我 |
|
|
* 记住我 老版不安全 |
|
|
*/ |
|
|
*/ |
|
|
public CookieRememberMeManager rememberMeManager() |
|
|
// public CookieRememberMeManager rememberMeManager()
|
|
|
{ |
|
|
// {
|
|
|
|
|
|
// CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();
|
|
|
|
|
|
// cookieRememberMeManager.setCookie(rememberMeCookie());
|
|
|
|
|
|
// if (StringUtils.isNotEmpty(cipherKey))
|
|
|
|
|
|
// {
|
|
|
|
|
|
// cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
|
|
|
|
|
|
// }
|
|
|
|
|
|
// else
|
|
|
|
|
|
// {
|
|
|
|
|
|
// cookieRememberMeManager.setCipherKey(CipherUtils.generateNewKey(128, "AES").getEncoded());
|
|
|
|
|
|
// }
|
|
|
|
|
|
// return cookieRememberMeManager;
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 记住我 新版, 为了反序列化安全问题, 动态秘钥 |
|
|
|
|
|
*/ |
|
|
|
|
|
public CookieRememberMeManager rememberMeManager() { |
|
|
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager(); |
|
|
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager(); |
|
|
cookieRememberMeManager.setCookie(rememberMeCookie()); |
|
|
cookieRememberMeManager.setCookie(rememberMeCookie()); |
|
|
if (StringUtils.isNotEmpty(cipherKey)) |
|
|
try { |
|
|
{ |
|
|
KeyGenerator keygen = KeyGenerator.getInstance("AES"); |
|
|
cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey)); |
|
|
SecretKey deskey = keygen.generateKey(); |
|
|
} |
|
|
String value = Base64.encodeToString(deskey.getEncoded()); |
|
|
else |
|
|
cookieRememberMeManager.setCipherKey(Base64.decode(value)); |
|
|
{ |
|
|
// cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
|
|
|
cookieRememberMeManager.setCipherKey(CipherUtils.generateNewKey(128, "AES").getEncoded()); |
|
|
} catch(Exception e) { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
// cookieRememberMeManager.setCipherKey(Base64.decode("fCq+/xW488hMTCD+cmJ3aQ=="));
|
|
|
return cookieRememberMeManager; |
|
|
return cookieRememberMeManager; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|