通过cookie实现记住登录状态

通过cookie实现记住登录状态


基于用session来判断用户的登录状态,然后用存放在浏览器的cookie来判断是否需要帮助登录
登录时存cookie到客户端

// 是否记住登录状态
if (remember != null && remember == 1) {
   
	// 免登录,将登录信息放入cookie
	String cookieValue = CookieUtils.getCookieValue(userAccount, md5, request);
	if (StringUtils.isBlank(cookieValue)) {
   
		// 生成cookie失败,放弃设置cookie
		return Message.success();
	}
	// 过期时间
	String cookieTimeout = Conf.getValue(CookieUtils.COOKIE_TIMEOUT, CookieUtils.COOKIE_PATH);
	try {
   
		int cookieTimeoutInt = Integer.parseInt(cookieTimeout);
		// 创建Cookie  
		Cookie cookie = new Cookie(CookieUtils.COOKIE_KEY, cookieValue);
		cookie.setHttpOnly(true);
		// 有效期,秒为单位  
		cookie.setMaxAge(cookieTimeoutInt);
		// 设置cookie  
		response.addCookie(cookie);
	} catch (NumberFormatException e) {
   
		e.printStackTrace();
	}
} else {
   
	// 不记住登录状态,则让cookie过期
	CookieUtils.invalidateCookie(request, response);
}

验证是否有cookie

/**
* 判断用户是否是登录状态
*/
private boolean isLogin(HttpServletRequest request) {
   
      	//验证session是否存在
	HttpSession session = request.getSession();
	Object obj = session.getAttribute
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值