Springboot中登录后关于cookie和session拦截案例
2021-03-31 18:24
标签:状态 拦截器 inter slf4j pos ring single cookies 遍历 1、简单的登录验证可以通过Session或者Cookie实现。 1、配置拦截器代码如下: Springboot中登录后关于cookie和session拦截案例 标签:状态 拦截器 inter slf4j pos ring single cookies 遍历 原文地址:https://www.cnblogs.com/tenghw/p/13557327.html一、前言
2、每次登录的时候都要进数据库校验下账户名和密码,只是加了cookie 或session验证后;比如登录页面A,登录成功后进入页面B,若此时cookie过期,在页面B中新的请求url到页面c,系统会让它回到初始的登录页面。(类似单点登录sso(single sign on))。
3、另外,无论基于Session还是Cookie的登录验证,都需要对HandlerInteceptor进行配置,增加对URL的拦截过滤机制。二、利用Cookie进行登录验证
public class CookiendSessionInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.debug("进入拦截器");
Cookie[] cookies = request.getCookies();
if(cookies!=null && cookies.length>0){
for(Cookie cookie:cookies) {
log.debug("cookie===for遍历"+cookie.getName());
if (StringUtils.equalsIgnoreCase(cookie.getName(), "isLogin")) {
log.debug("有cookie ---isLogin,并且cookie还没过期...");
//遍历cookie如果找到登录状态则返回true继续执行原来请求url到controller中的方法
return true;
}
}
}
log.debug("没有cookie-----cookie时间可能到期,重定向到登录页面后请重新登录。。。");
response.sendRedirect("index.html");
//返回false,不执行原来controller的方法
return false; }
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { }
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }```
文章标题:Springboot中登录后关于cookie和session拦截案例
文章链接:http://soscw.com/essay/70562.html