Skip to content

Commit 3fe79cc

Browse files
Merge pull request #64 from geekidea/dev
🇨🇳 1.3.0.RELEASE shiro+jwt
2 parents d47f9ec + 0f048ae commit 3fe79cc

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

src/main/java/io/geekidea/springbootplus/shiro/jwt/JwtFilter.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,12 @@ protected AuthenticationToken createToken(ServletRequest servletRequest, Servlet
8282
}
8383

8484
String username = JwtUtil.getUsername(token);
85-
String salt = loginRedisService.getSalt(username);
85+
String salt;
86+
if (jwtProperties.isSaltCheck()){
87+
salt = loginRedisService.getSalt(username);
88+
}else{
89+
salt = jwtProperties.getSecret();
90+
}
8691
return JwtToken.build(token, username, salt, jwtProperties.getExpireSecond());
8792
}
8893

src/main/java/io/geekidea/springbootplus/shiro/jwt/JwtProperties.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,9 @@ public class JwtProperties {
7979
*/
8080
private boolean singleLogin;
8181

82+
/**
83+
* 是否进行盐值校验
84+
*/
85+
private boolean saltCheck;
86+
8287
}

src/main/java/io/geekidea/springbootplus/shiro/service/impl/LoginServiceImpl.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,13 @@ public ApiResult login(LoginParam loginParam, HttpServletResponse response) {
8181
log.error("登陆失败,loginParam:{}", loginParam);
8282
return ApiResult.fail(ApiCode.LOGIN_EXCEPTION);
8383
}
84-
// 包装盐值
85-
String newSalt = SaltUtil.getSalt(jwtProperties.getSecret(), loginSysUserVo.getSalt());
84+
String newSalt;
85+
if (jwtProperties.isSaltCheck()){
86+
// 包装盐值
87+
newSalt = SaltUtil.getSalt(jwtProperties.getSecret(), loginSysUserVo.getSalt());
88+
}else{
89+
newSalt = jwtProperties.getSecret();
90+
}
8691
// 删除登陆用户盐值,盐值保存到后台Redis缓存中
8792
loginSysUserVo.setSalt(null);
8893

src/main/resources/config/application.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ spring-boot-plus:
127127
redis-check: true
128128
# true: 同一个账号只能是最后一次登陆token有效,false:同一个账号可多次登陆
129129
single-login: false
130+
# 盐值校验,如果不加自定义盐值,则使用secret校验
131+
salt-check: true
130132
############################ JWT end ###############################
131133

132134
############################### spring-boot-plus end ###############################

0 commit comments

Comments
 (0)