shiro 升级到 1.4.1,并优化 记住我功能,详见 RememberMeKeyGen 文件。
This commit is contained in:
@@ -317,22 +317,18 @@ shiro:
|
|||||||
|
|
||||||
# 简单 SSO 登录相关配置
|
# 简单 SSO 登录相关配置
|
||||||
sso:
|
sso:
|
||||||
|
|
||||||
# 如果启用/sso/{username}/{token}单点登录,请修改此安全key并与单点登录系统key一致。
|
# 如果启用/sso/{username}/{token}单点登录,请修改此安全key并与单点登录系统key一致。
|
||||||
secretKey: ~
|
secretKey: ~
|
||||||
|
|
||||||
# 是否加密单点登录安全Key
|
# 是否加密单点登录安全Key
|
||||||
encryptKey: true
|
encryptKey: true
|
||||||
|
|
||||||
# 登录提交信息加密(如果不需要加密,设置为空即可)
|
# 登录提交信息加密(如果不需要加密,设置为空即可)
|
||||||
loginSubmit:
|
loginSubmit:
|
||||||
|
|
||||||
# 登录提交信息安全Key,加密用户名、密码、验证码,后再提交(key设置为3个,用逗号分隔)
|
# 登录提交信息安全Key,加密用户名、密码、验证码,后再提交(key设置为3个,用逗号分隔)
|
||||||
secretKey: thinkgem,jeesite,com
|
secretKey: thinkgem,jeesite,com
|
||||||
|
|
||||||
# 记住我密钥设置(设置为空则使用默认)
|
# 记住我密钥设置,为空则自动生成一个新密钥,也可以通过 com.jeesite.test.RememberMeKeyGen 生成
|
||||||
rememberMe:
|
rememberMe:
|
||||||
# 密钥必须通过 com.jeesite.common.shiro.web.RememberMeManager 的main方法生成
|
|
||||||
secretKey: ~
|
secretKey: ~
|
||||||
|
|
||||||
# 指定获取客户端IP的Header名称,防止IP伪造。指定为空,则使用原生方法获取IP。
|
# 指定获取客户端IP的Header名称,防止IP伪造。指定为空,则使用原生方法获取IP。
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
<mybatis-spring.version>1.3.2</mybatis-spring.version>
|
<mybatis-spring.version>1.3.2</mybatis-spring.version>
|
||||||
<jsqlparser.version>1.1</jsqlparser.version>
|
<jsqlparser.version>1.1</jsqlparser.version>
|
||||||
<druid.version>1.1.18</druid.version>
|
<druid.version>1.1.18</druid.version>
|
||||||
<shiro.version>1.4.0</shiro.version>
|
<shiro.version>1.4.1</shiro.version>
|
||||||
<j2cache.version>2.7.0-release</j2cache.version>
|
<j2cache.version>2.7.0-release</j2cache.version>
|
||||||
<beetl.version>3.0-SNAPSHOT</beetl.version>
|
<beetl.version>3.0-SNAPSHOT</beetl.version>
|
||||||
<swagger.version>1.5.20</swagger.version>
|
<swagger.version>1.5.20</swagger.version>
|
||||||
|
|||||||
@@ -89,6 +89,9 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<includeSystemScope>true</includeSystemScope>
|
||||||
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<!-- <plugin>
|
<!-- <plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
|||||||
@@ -332,8 +332,8 @@ logging:
|
|||||||
#======================================#
|
#======================================#
|
||||||
|
|
||||||
# Shiro 相关配置
|
# Shiro 相关配置
|
||||||
#shiro:
|
shiro:
|
||||||
#
|
|
||||||
# #索引页路径
|
# #索引页路径
|
||||||
# defaultPath: ${shiro.loginUrl}
|
# defaultPath: ${shiro.loginUrl}
|
||||||
#
|
#
|
||||||
@@ -351,24 +351,20 @@ logging:
|
|||||||
#
|
#
|
||||||
# # 简单 SSO 登录相关配置
|
# # 简单 SSO 登录相关配置
|
||||||
# sso:
|
# sso:
|
||||||
#
|
|
||||||
# # 如果启用/sso/{username}/{token}单点登录,请修改此安全key并与单点登录系统key一致。
|
# # 如果启用/sso/{username}/{token}单点登录,请修改此安全key并与单点登录系统key一致。
|
||||||
# secretKey: ~
|
# secretKey: ~
|
||||||
#
|
|
||||||
# # 是否加密单点登录安全Key
|
# # 是否加密单点登录安全Key
|
||||||
# encryptKey: true
|
# encryptKey: true
|
||||||
#
|
#
|
||||||
# # 登录提交信息加密(如果不需要加密,设置为空即可)
|
# # 登录提交信息加密(如果不需要加密,设置为空即可)
|
||||||
# loginSubmit:
|
# loginSubmit:
|
||||||
#
|
|
||||||
# # 登录提交信息安全Key,加密用户名、密码、验证码,后再提交(key设置为3个,用逗号分隔)
|
# # 登录提交信息安全Key,加密用户名、密码、验证码,后再提交(key设置为3个,用逗号分隔)
|
||||||
# secretKey: thinkgem,jeesite,com
|
# secretKey: thinkgem,jeesite,com
|
||||||
#
|
|
||||||
# # 记住我密钥设置(设置为空则使用默认)
|
# 记住我密钥设置,为空则自动生成一个新密钥,也可以通过 com.jeesite.test.RememberMeKeyGen 生成
|
||||||
# rememberMe:
|
rememberMe:
|
||||||
# # 密钥必须通过 com.jeesite.common.shiro.web.RememberMeManager 的main方法生成
|
secretKey: ~
|
||||||
# secretKey: ~
|
|
||||||
#
|
|
||||||
# # 指定获取客户端IP的Header名称,防止IP伪造。指定为空,则使用原生方法获取IP。
|
# # 指定获取客户端IP的Header名称,防止IP伪造。指定为空,则使用原生方法获取IP。
|
||||||
# remoteAddrHeaderName: X-Forwarded-For
|
# remoteAddrHeaderName: X-Forwarded-For
|
||||||
#
|
#
|
||||||
|
|||||||
24
web/src/test/java/com/jeesite/test/RememberMeKeyGen.java
Normal file
24
web/src/test/java/com/jeesite/test/RememberMeKeyGen.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
*/
|
||||||
|
package com.jeesite.test;
|
||||||
|
|
||||||
|
import org.apache.shiro.crypto.AesCipherService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* v4.1.8 开始将不为记住我功能,设置默认密钥,即启动系统时生成新密钥。
|
||||||
|
* 这样会造成一个问题,比如:重启服务后,记住登录的用户因为解密失败,而需要重新登录。
|
||||||
|
* 为了解决这个问题,您可以通过这个类获取一个新密钥,设置到 shiro.rememberMe.secretKey 中即可。
|
||||||
|
* 另外,如果你从配置文件里将 shiro.rememberMe.secretKey 设置为空,启动系统时也会自动设置一个新的密钥。
|
||||||
|
* @author ThinkGem
|
||||||
|
* @version 2019年11月6日
|
||||||
|
*/
|
||||||
|
public class RememberMeKeyGen {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
byte[] cipherKey = new AesCipherService().generateNewKey().getEncoded();
|
||||||
|
String secretKey = org.apache.shiro.codec.Base64.encodeToString(cipherKey);
|
||||||
|
System.out.println("shiro.rememberMe.secretKey = " + secretKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user