课表申请功能重写 bug修复
This commit is contained in:
+1
-1
@@ -100,7 +100,7 @@ public class SecurityConfig
|
||||
.authorizeHttpRequests((requests) -> {
|
||||
permitAllUrl.getUrls().forEach(url -> requests.requestMatchers(url).permitAll());
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
requests.requestMatchers("/login", "/register", "/captchaImage","/jwtest/pk/all").permitAll()
|
||||
requests.requestMatchers("/login", "/register", "/captchaImage", "/jwtest/pk/all").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.requestMatchers(HttpMethod.GET, "/", "/*.html", "/**.html", "/**.css", "/**.js", "/profile/**").permitAll()
|
||||
.requestMatchers("/swagger-ui.html", "/v3/api-docs/**", "/swagger-ui/**", "/druid/**").permitAll()
|
||||
|
||||
+35
-3
@@ -73,6 +73,10 @@ public class TokenService
|
||||
String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
|
||||
String userKey = getTokenKey(uuid);
|
||||
LoginUser user = redisCache.getCacheObject(userKey);
|
||||
if (user == null)
|
||||
{
|
||||
log.warn("令牌签名有效,但登录缓存已失效,请重新登录");
|
||||
}
|
||||
return user;
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -218,14 +222,42 @@ public class TokenService
|
||||
*/
|
||||
private String getToken(HttpServletRequest request)
|
||||
{
|
||||
String token = request.getHeader(header);
|
||||
if (StringUtils.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX))
|
||||
String token = firstHeader(request, header, "Authorization", "token");
|
||||
if (StringUtils.isNotEmpty(token))
|
||||
{
|
||||
token = token.replace(Constants.TOKEN_PREFIX, "");
|
||||
token = token.trim();
|
||||
if (StringUtils.startsWithIgnoreCase(token, Constants.TOKEN_PREFIX))
|
||||
{
|
||||
token = token.substring(Constants.TOKEN_PREFIX.length()).trim();
|
||||
}
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按顺序读取请求头,兼容 Authorization / token。
|
||||
*/
|
||||
private String firstHeader(HttpServletRequest request, String... names)
|
||||
{
|
||||
if (names == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
for (String name : names)
|
||||
{
|
||||
if (StringUtils.isEmpty(name))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
String value = request.getHeader(name);
|
||||
if (StringUtils.isNotEmpty(value))
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getTokenKey(String uuid)
|
||||
{
|
||||
return CacheConstants.LOGIN_TOKEN_KEY + uuid;
|
||||
|
||||
Reference in New Issue
Block a user