自动登录

概念:
首先保证服务器处于一直开启状态,比如微博,因为只有服务器一值开启用户才能自动登录,服务器一旦崩溃,所有用户无法登录,何况自动登录。
自动登录是登录过一次后,在关闭整个浏览器的情况下(服务器一直开启),再次打开浏览器不需要登录即可访问登录过的网站。

一,使用cookie

实现方法
使用cookie保存首次登录成功后的用户名密码,并设置有效时间,提交保存。

  Cookie cookie1 = new Cookie("username", "kaiqiang");Cookie cookie2 = new Cookie("password", "123456");//在哪个项目目录下有效cookie1.setPath("/Day1014");cookie2.setPath("/Day1014");//设置有效时长,秒为单位cookie1.setMaxAge(60 * 60);cookie2.setMaxAge(60 * 60);//保存提交resp.addCookie(cookie1);resp.addCookie(cookie2);

在项目的过滤器中通过过滤页面实现自动登录

//session得到首次登录登录的用户信息
//session得到使用cookie自动登录后的用户信息
//只要有一个用户信息不为空,说明已登录了,直接放行,退出
//如果两个用户信息都是空,判断Cookie是否为空,是说明从未登陆过需要跳转到登录页面,cookie不是空说明曾经登录成功过,要去自动登录。自动登录成功后要保存用户信息,以便于过滤验证

HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) resp;HttpSession session = request.getSession();//得到首次登录登录的用户信息EmpManager empManager = (EmpManager)session.getAttribute("empManager");//得到使用cookie自动登录后的用户信息EmpManager empManager1 = (EmpManager)session.getAttribute("empManager1");//只要有一个用户信息不为空,说明已登录了,直接放行,退出if(empManager != null || empManager1 != null){chain.doFilter(req, resp);return;}Cookie[] cookies = request.getCookies();System.out.println("cookie是否为空:" + cookies);String username = "";String password = "";//如果两个用户信息都是空,判断Cookie是否为空,是说明从未登陆过需要跳转到登录页面,cookie不是空说明曾经登录成功过,要去自动登录。if (cookies != null) {for (Cookie c : cookies) {System.out.println(c.getValue());if ("username".equals(c.getName())) {username = URLDecoder.decode(c.getValue(), "utf-8");}if ("password".equals(c.getName())) {password = URLDecoder.decode(c.getValue(), "utf-8");}}System.out.println(username);EmpManager empManager2 = service.login(username, password);if (empManager2 != null) {// 保存自动登录的用户信息request.getSession().setAttribute("empManager1", empManager2);request.getRequestDispatcher("/manager/empList").forward(req,resp);//response.sendRedirect(request.getContextPath() + "/manager/empList");}}else{response.sendRedirect("/Day1014/login.html");}

2,token实现自动登录后期更新

Cookie或Token实现网站自动登录相关推荐

  1. 网站自动登录功能的设计[转]

    网站的自动登录一直都是有利于提高用户体验的功能,如果设计不好,也非常容易泄漏用户的账户信息. 比较常见的功能实现方案是将用户的登录信息保存在浏览器的Cookie中.看到一些设计有缺陷的网站会将用户的用 ...

  2. 「实用」微信扫码 - 关注公众号后网站自动登录

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:用好Java中的枚举,真的没有那么简单!个人原创+1博客:点击前往,查看更多 作者:destiny 链接:htt ...

  3. 自动化测试 - 12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 Web的原理就是,浏览器发送一个Request给Web服务器,Web ...

  4. 自动化测试 (一) 12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web ...

  5. 自动化测试项目实战 ——12306火车票网站自动登录工具

    还记得前几年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web的原 ...

  6. 微信扫码:关注公众号后网站自动登录的实现原理

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 作者:destiny 链接:segmentfault.com/a/1190000022188562 序言 常见方式 平常大家见到过最多的扫码 ...

  7. 实现微信扫码或关注公众号后网站自动登录

    常见方式 平常大家见到过最多的扫码登录应该是 开放平台网页登录 大概形式就是:点击微信登录后会出现一个黑页面,页面中有一个二维码,扫码后可以自动获取用户信息然后登录,但是这种方式需要申请开放平台比较麻 ...

  8. 【系统自动化开发】Python实现广东省公务员报名系统网站自动登录

    [系统自动化开发]Python实现广东省公务员报名系统网站自动登录 [系统自动化开发]Python实现广东省公务员报名系统网站自动登录 一.原理 二.代码 [系统自动化开发]Python实现广东省公务 ...

  9. 自动化测试实战(一)12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 Web的原理就是,浏览器发送一个Request给Web服务器,Web ...

  10. 网络爬虫playwright实现网站自动登录并签到

    网络爬虫使用playwright工具来替代selenium工具,模拟浏览器加载动态网页,应对使用了json.ajax的复杂网站,从而通过网络爬虫实现网站自动登录并签到,设计思想如下: 1.打开网站登录 ...

最新文章

  1. 设置Open in Terminal快捷键Alt+Shift+Z,方便angular项目的各种命令输入(多任务状态下)
  2. boost::lambda::constructor用法的测试程序
  3. 反向传播算法_反向传播算法:定义,概念,可视化
  4. c语言单元测验,C语言程序设计单元测验一.PDF
  5. vue 兄弟组件之间的传值
  6. 从安装认识Angular 2
  7. Excel数据分析实例
  8. LimeSDR实验教程(14) GSM嗅探
  9. jUI项目最初的名字为DWZ,这个名字是怎么来的?后来为什么又改为jUI?
  10. openssl源代码方式安装以及简单的实验
  11. 2021-04-19一万小时定律
  12. 5G NTN进展简述
  13. 脉冲式和相位式激光测距
  14. 使用FFMpeg将音频PCM数据生成WAV和MP3文件
  15. 企业级数据管理——DAMA数据管理
  16. systemctl和service区别
  17. layDate显示默认时间
  18. 把复杂的事做简单,这是一种本事
  19. Spring Cloud Netflix五大组件简介
  20. 低代码指南100解决方案:41还在用excel做进销存管理?这个系统让采购、仓库、销售管理更简单

热门文章

  1. java页面展示_JAVA页面展示问题
  2. 一种用于指导模拟 IC 布局的定制图神经网络模型
  3. Android项目开发总结
  4. 员工“风清扬”感慨:为公司裁员结果把自己裁了,网友:真够狠的
  5. logo设计的基础知识
  6. (四)Python中随机森林的实现与解释
  7. 历届全国大学生GIS应用技能大赛试题及数据
  8. 让人苦笑不得的基带版本未知错误
  9. 20位大厂面试官推荐的Java面试八股文
  10. 7-11 How Long Does It Take(25 分)