拦截器配置
编辑一个拦截器
@Component
public class LoginLogInterceptor implements HandlerInterceptor {
@Autowired
private LoginLogService loginLogService;
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return true;
}
/**
*检查session域有没有用户对象,有则登录成功,记录日志;没有则登录失败,不做处理
*/
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {
User user = (User) request.getSession().getAttribute("user");
if(user != null){
//登录成功,记录日志
LoginLog log = new LoginLog();
log.setUserId(user.getId());
log.setLoginTime(new Date());
log.setIp(request.getRemoteAddr());
loginLogService.addLoginLog(log);
}
}
}
定义拦截器配置类,@configuration注入进容器里
@Configuration
public class springmvc_config implements WebMvcConfigurer {
@Autowired
private LoginLogInterceptor loginLogInterceptor;
//拦截器注册
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginLogInterceptor).addPathPatterns("/user/signIn");
}
}
放行静态资源配置
spring:
resources:
static-locations: classpath:/templates,classpath:/static/