当前位置:网站首页 > C++编程 > 正文

跨域请求携带cookie(跨域 set-cookie)



本文不是坑,作者已试,完美解决用户记住登陆状态的问题。本示例需要使用Spirng的拦截器。

前端代码:

用户名

密码

  记住我

cokkieTool.java工具类,用户可以完全拷贝此类的内容:package com.blog.util;

拦截器代码,此处仅仅处理了用户是否登陆,cookie是否存有用户信息,session中是否存在用户信息,cookie中保存的用户信息是否能够在系统中查找到该用户:public boolean preHandle(HttpServletRequest request,

* 注意:每次重新启动浏览器会重新启动一个sessionId和Cookie,之前设置的session会因为sessionId的变化而取不到,

* 所以会出现用户明明已经登录,但是重开浏览器又需要登录. 流程:

* 1、用户选择记住密码:取出cookie中的用户名和密码查询,如果此用户已不存在

* ,则清除cookie中的值,如果存在则判断用户是否重新登录,如果未重新登录则将cookie中用户信息设置到session中

* ,如果用户重新登录了则判断登录用户是否与cookie中用户一致

* ,一致则将cookie中用户信息设置到session中,不一致则将当前登录用户的信息设置到session中。

* 将用户信息放入session中是为了(通过cookie中的用户名密码可以得到用户信息):

* 1、重开浏览器的时候如果已经登录的用户可以直接进入

* 2、防止用户直接将执行方法的连接拷贝进地址栏,而方法中又需要在session中取用户信息的错误

* 2、用户未选记住密码:判断session中是否存在用户信息,如果存在,则true,如果不存在则返回登录页面

用户点击登陆时的controller代码下面代码的含义是,当用户登录时勾选了name属性为“rememberPwd”的复选框时,传递到后台的值默认就是on,如果没勾选,值为空或者in,当用户勾选了记住我的选项,则将用户的信息保存进入session,同时设置cookie信息:int  loginMaxAge = Integer.MAX_VALUE;   //定义账户密码的生命周期,这里是一个月。单位为秒

记得用户点击退出登录时,需要将cokkie中的用户信息抹除:@RequestMapping("/singUp")

至此,就完成了使用java设置浏览器cookie记住用户登录信息的功能。

到此这篇跨域请求携带cookie(跨域 set-cookie)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ceph存储(ceph存储原理)2025-11-20 23:36:09
  • tcp ipv6(tcpipv6跟tcpipv4)2025-11-20 23:36:09
  • 2258xt开卡设置(2258XT开卡设置QLC)2025-11-20 23:36:09
  • pcp文件是什么意思(pcd文件是什么意思)2025-11-20 23:36:09
  • aulopoce是什么品牌(auopn什么牌子)2025-11-20 23:36:09
  • apc与阿司匹林的区别(阿司匹林pka)2025-11-20 23:36:09
  • uc代码是什么意思(uc代码怎么用)2025-11-20 23:36:09
  • tcp工具下载(tcpip工具包)2025-11-20 23:36:09
  • ceph容量损耗(ceph扩容osd)2025-11-20 23:36:09
  • aulopoce是什么品牌(aupu是什么品牌)2025-11-20 23:36:09
  • 全屏图片