diff --git a/README.md b/README.md index ffeba5eb3351679d5ea6b1d6648873bff2c782b1..946b8daaeb2c2c0a09f13dfb725b61477e5f9d8a 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ + @@ -106,6 +107,8 @@ jwtp.exclude-path=/,/index,/login ## 单个用户最大token数,默认-1不限制 jwtp.max-token=10 +jwt.token-key=access_token + ## 日志级别设置debug可以输出详细信息 logging.level.org.wf.jwtp=DEBUG ``` diff --git a/jwt-permission/src/main/java/org/wf/jwtp/TokenInterceptor.java b/jwt-permission/src/main/java/org/wf/jwtp/TokenInterceptor.java index 014feaa0ac167efa28f92567d8269c1378fc43d8..44284760e24d20c59a0c94eb3f8a80c399ee22ed 100644 --- a/jwt-permission/src/main/java/org/wf/jwtp/TokenInterceptor.java +++ b/jwt-permission/src/main/java/org/wf/jwtp/TokenInterceptor.java @@ -29,40 +29,17 @@ public class TokenInterceptor extends HandlerInterceptorAdapter { protected final Log logger = LogFactory.getLog(this.getClass()); private TokenStore tokenStore; private Integer maxToken; + private String tokenKey; - public TokenInterceptor() { - this(null); - } - - public TokenInterceptor(TokenStore tokenStore) { - this(tokenStore, -1); - } - - public TokenInterceptor(TokenStore tokenStore, Integer maxToken) { + public TokenInterceptor(TokenStore tokenStore, Integer maxToken , String tokenKey) { setTokenStore(tokenStore); setMaxToken(maxToken); - } - - public TokenStore getTokenStore() { - return tokenStore; - } - - public void setTokenStore(TokenStore tokenStore) { - this.tokenStore = tokenStore; - } - - public Integer getMaxToken() { - return maxToken; - } - - public void setMaxToken(Integer maxToken) { - this.maxToken = maxToken; - Config.getInstance().setMaxToken(maxToken); + setTokenKey(tokenKey); } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - String access_token = request.getParameter("access_token"); + String access_token = request.getParameter(this.tokenKey); if (access_token == null || access_token.trim().isEmpty()) { access_token = request.getHeader("Authorization"); if (access_token != null && access_token.length() >= 7) { @@ -130,4 +107,33 @@ public class TokenInterceptor extends HandlerInterceptorAdapter { Logical logical = annotation.logical(); return SubjectUtil.hasRole(token, requiresRoles, logical); } + + + public TokenStore getTokenStore() { + return tokenStore; + } + + public TokenInterceptor setTokenStore(TokenStore tokenStore) { + this.tokenStore = tokenStore; + return this; + } + + public Integer getMaxToken() { + return maxToken; + } + + public TokenInterceptor setMaxToken(Integer maxToken) { + this.maxToken = maxToken; + Config.getInstance().setMaxToken(maxToken); + return this; + } + + public String getTokenKey() { + return tokenKey; + } + + public TokenInterceptor setTokenKey(String tokenKey) { + this.tokenKey = tokenKey; + return this; + } } diff --git a/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionConfiguration.java b/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionConfiguration.java index 46526acb75a090236d208e2a9f283494ce3cc26f..cf0a1f57fcaad25042358130bfb44d8c684624db 100644 --- a/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionConfiguration.java +++ b/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionConfiguration.java @@ -65,7 +65,7 @@ public class JwtPermissionConfiguration implements WebMvcConfigurer, Application if (excludePath == null) { excludePath = new String[]{}; } - registry.addInterceptor(new TokenInterceptor(tokenStore(), properties.getMaxToken())) + registry.addInterceptor(new TokenInterceptor(tokenStore(), properties.getMaxToken() , properties.getTokenKey())) .addPathPatterns(path) .excludePathPatterns(excludePath); } diff --git a/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionProperties.java b/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionProperties.java index 3abe3963ecca88fb2a3909ede3f21b6b6b053973..eeecd1ee446d2565b1263f4dbb677ab401bab473 100644 --- a/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionProperties.java +++ b/jwtp-spring-boot-starter/src/main/java/org/wf/jwtp/configuration/JwtPermissionProperties.java @@ -17,6 +17,8 @@ public class JwtPermissionProperties { private Integer maxToken; + private String tokenKey = "access_token"; + public Integer getStoreType() { return storeType; } @@ -48,4 +50,12 @@ public class JwtPermissionProperties { public void setMaxToken(Integer maxToken) { this.maxToken = maxToken; } + + public String getTokenKey() { + return tokenKey; + } + + public void setTokenKey(String tokenKey) { + this.tokenKey = tokenKey; + } }