SSM配置拦截器
我们都知道在spring boot中配置拦截器非常容易,但是如果课设要求使用纯SSM编写,那么就要手动在xml文件中注册
首先编写拦截器
public class LoginHandlerInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("Authorization");
if (token != null && token.startsWith("Bearer ")) {
token = token.substring(7); // 去掉 "Bearer " 前缀
if (JwtUtil.validateToken(token)) {
// 如果 JWT 有效,继续处理请求
return true;
} else {
// 如果 JWT 无效,返回 401 未授权
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
} else {
// 如果没有 JWT,返回 401 未授权
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
}
}
然后再在 spring-mvc.xml里注册它
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/user/login"/>
<mvc:exclude-mapping path="/user/register"/>
<bean class="com.paoxiaomo.javaee.config.LoginHandlerInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
此时当我们发送的请求没有token就会在这里返回401