tlias管理系统-过滤器Filter实现登录校验功能 ----2

This commit is contained in:
2025-10-27 10:15:03 +08:00
parent 1d2452c853
commit cc8729b813
2 changed files with 23 additions and 2 deletions

View File

@@ -75,6 +75,13 @@
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!--阿里巴巴-json操作依赖-fastJson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.53</version>
</dependency>
</dependencies>
<dependencyManagement>

View File

@@ -1,6 +1,8 @@
package com.inmind.filter;
import com.alibaba.fastjson.JSONObject;
import com.inmind.pojo.Result;
import com.inmind.utils.JwtUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
@@ -33,7 +35,8 @@ public class LoginCheckFilter implements Filter {
//4.判断令牌是否存在,不存在,直接返回错误结果(未登录)
if (!StringUtils.hasLength(jwt)) {
//todo 没有令牌,返回错误结果
//没有令牌,返回错误结果
notLogin(response);
log.info("没有令牌,返回错误结果");
return;
}
@@ -42,7 +45,8 @@ public class LoginCheckFilter implements Filter {
try {
JwtUtils.parseJWT(jwt);
} catch (Exception e) {
//todo 令牌解析失败,返回错误结果
//令牌解析失败,返回错误结果
notLogin(response);
log.info("令牌解析失败,返回错误结果");
return;
}
@@ -52,4 +56,14 @@ public class LoginCheckFilter implements Filter {
filterChain.doFilter(servletRequest,servletResponse);
}
private void notLogin(HttpServletResponse response) throws IOException {
//根据接口文档响应json但是之前通过spring的控制器里的@ResponseBody注解自动响应json现在没有该注解我们要手动发送json
Result error = Result.error("NOT_LOGIN");
//手动转换--将java对象转换为json字符串阿里巴巴的fastJson
String errorJson = JSONObject.toJSONString(error);
//通过响应对象将json响应给前端
response.getWriter().write(errorJson);
}
}