springboot 拦截器 免登录
时间: 2023-08-27 19:07:12 浏览: 63
可以告诉你如何在Spring Boot中使用拦截器实现免登录功能。首先,你需要创建一个拦截器实现HandlerInterceptor接口,在preHandle()方法中添加免登录逻辑。具体实现可以参考以下代码:
```
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
String user = (String) session.getAttribute("user");
if (user == null) {
response.sendRedirect("/login");
return false;
}
return true;
}
}
```
接下来,在Spring Boot的配置类里注册拦截器,并配置拦截路径和排除路径。可以参考以下代码:
```
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
private LoginInterceptor loginInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/login", "/register");
}
}
```
这样就可以实现拦截器免登录功能了。如果用户未登录,访问其他页面时会自动跳转到登录页面。