第一步:创建拦截器
创建类实现HandlerInterceptor,类加上 @Component注解,重写HandlerInterceptor的三个方法,然后根据需要在三个方法中写业务逻辑即可
package com.nowcoder.community.controller.interceptor;
import...
@Component
public class LoginTicketInterceptor implements HandlerInterceptor {
@Autowired
private UserService userService;
@Autowired
private HostHolder hostHolder;
@Override
/**
* 请求到Controller层之前
*/
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 从cookie中获取凭证
String ticket = CookieUtil.getValue(request, "ticket");
if (ticket != null) {
// 查询凭证
LoginTicket loginTicket = userService.findLoginTicket(ticket);
// 检查凭证是否有效
if (loginTicket != null