java session的设置时间和获取

package com.manage.custorm.intercepter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.manage.custorm.dao.IvrLoginDao;

@Component
public class LoginInterceptor implements HandlerInterceptor {

	// 这个方法是在访问接口之前执行的,我们只需要在这里写验证登陆状态的业务逻辑,就可以在用户调用指定接口之前验证登陆状态了
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		// 每一个项目对于登陆的实现逻辑都有所区别,我这里使用最简单的Session提取User来验证登陆。

		// 这里的User是登陆时放入session的
		IvrLoginDao token = (IvrLoginDao) request.getSession().getAttribute("IvrLoginDao");
		// 如果session中没有token,表示没登陆

		if (token == null) {
			throw new Exception("404" + "IvrLoginDao 为bull");
		} else {
			return true; // 如果session里有user,表示该用户已经登陆,放行,用户即可继续调用自己需要的接口
		}
	}

	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
	}

	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
	}
}
 HttpSession session = request.getSession();
            session.setAttribute("IvrLoginDao", loginInfo);
            // 设置session的有效时长,以s为单位,30*60即在没有活动的30分钟后就销毁
            session.setMaxInactiveInterval(30 * 60);
spring.resources.chain.strategy.content.enabled: true
#\u5E94\u7528\u4E8E\u7248\u672C\u7B56\u7565\u7684\u6A21\u5F0F\u7684\u9017\u53F7\u5206\u9694\u5217\u8868 \u9ED8\u8BA4/**
spring.resources.chain.strategy.content.paths:/**
发布了184 篇原创文章 · 获赞 73 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/qq_32521313/article/details/105043178