IT修真院_JAVA

拦截器的作用之cookie认证登录

2017-07-07  本文已影响0人  点击更改头像

it修真院java小课堂_腾讯视频

分享人:吴志勇

视频:https://v.qq.com/x/page/z0522os3by7.html

PPT:https://github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B47%E6%9C%885%E6%97%A5PPT

1.背景介绍

我们在访问需要身份验证的网页时,通常在我们第一次访问该网站时需要登录,后面我们再次访问该网站时,就能直接进去了,这样的功能是怎么实现的呢?

2.知识剖析

本次分享的内容将涉及到以下三点内容,

1.cookie

2.token

3.拦截器

3.常见问题

http协议是无状态的,那么是怎么实现记住密码的?

4.解决方案

上网百度,一直是咋们修真院提倡的自学方式之一。


ps:作为网站的编写者,我们无从知道坐在电脑前的那个人是谁。我们能够知道的是,访问网站的是哪一台电脑——这一点可以通过Cookie实现。因此,对用户的识别实际上就是对客户端电脑的识别。

简单的说,当用户第一次登录网站的时候,网站向客户端发送一个包含有用户名的Cookie。当用户在之后的某个时候再次访问,浏览器就会向网站服务器回送这个Cookie,于是,我们可以从这个Cookie中读取到用户名,然后调用登录的方法,从而实现自动为用户登录。

5.编码实战

springMVC中拦截器配置

控制器中添加cookIe

拦截器工具类

6.扩展思考

除了cookie认证方式实现自动登录外,还有哪些做法可以实现自动认证登录?

web开发中除了cookie常用session来做认证登录。

7.参考文献

参考一:http://www.baidu.com

参考二:http://www.google.com

8.更多讨论

如何在实现自动登录的情况下保障自己的账密安全?

1、不要记住密码

2、使用复杂的加密算法

3、使用强大唯一标识符比如UUID等

问题:

1、为什么加密生成的token的内容是ID+当前时间

答:因为这段代码是当时做任务时候写的,任务当中要求对ID+当前时间进行加密,所以这里的token内容是ID+当前时间,当然实际开发中,可根据自己实际的开发需求,对自己存入cookie中的信息加密。

2、cookie的生存周期是怎么设定的

cookie声明后,有这样一个方法.setMaxAge(60*60*24)设置最大‘年龄’也就是设定最大有效时间,这里括号里边的数据单位为秒,当前设定的值表示cookie存在时间保留一天。

友情连接:IT修真院        IT修真院简书JAVA专题

上一篇 下一篇

猜你喜欢

热点阅读