You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

33 lines
1.2 KiB

package cc.bnblogs.interceptor;
import cc.bnblogs.common.WebSite;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Objects;
/**
* @author zfp@bnblogs.cc
* @createTime: 2022/10/23
* @description: 登录拦截器
*/
@Component
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
Boolean sign = (Boolean) session.getAttribute(WebSite.LOGIN_SIGN);
if (Objects.nonNull(sign) && sign) {
return true;
}
else {
request.setAttribute("errorMsg","请登录后再操作!");
// 当Session中没有登录信息时我们直接转发到登录页面并给出请登录后再进行操作的提示
request.getRequestDispatcher("/admin/login.html").forward(request,response);
return false;
}
}
}