00:01
嗯,接下来下边这个吧,这个如果按顺序说到这儿了哈,但是这个其实其实我可以给大这给大家标记上,这个不重要。相比较来讲,这个不重要啊,因为这个记住我这功能,啥叫记住我呢。就是说我们第一次登录以后。呃,下次我们把浏览器给关掉,浏览器关掉以后呢,我还是访问这个同一个请求。呃,访问这个本来应该要登录的,这个时候呢,他如果能够记住我,他就不需要我再去重新去登录了啊。哎,这个这个功能呢,并不是一个核心的功能啊,它是一个可以说是一个辅助的功能。啊,这个我们标记上不重要啊,这个。大家我们看看他会怎么去做。嗯,我们先看一下现在的这个效果,现在这个是记不住的。我们访问一下这个门哈。
01:00
哎,现在是登录了,当然可以访问,我们在这CTRLX把浏览器关掉,重新开。然后呢,我们再访问这个地址。就会跳转到这个登录的页面啊,现在我们怎么让他记住我呢。嗯。这里边用security对象呢,调用remember me方法啊,先开启这个功能。Remember me,哎,让他先先去开启这个功能。呃,那么开启完了以后呢,后边还有一些啊,就是说我们页面上哈,用户得可以选择他勾选这个就让他记住,不勾选就不让他记住。啊,有的时候你不希望他记住啊,你像这个浏览器,它有一个功能叫做无痕窗口。
02:03
哎,这个功能我觉得非常的好,非常的好啊。啊,对,没错。但是你没有证据。哎,就是说有些事儿吧,你,你干完有些事儿,不希望他给你留下一些个痕迹啊,看看你们猥琐的笑容。然后那。那现在这个地方呢,也是用户他自己决定要不要让他记住啊,你在网吧这种公共场合就最好别记住啊,所以说呢,这个得用户去选,那么我们怎么能知道用户选了这个记住我了。那么这是一个check box,用户如果选了的话,他会提交一个请求参数,这个请求参数呢,它也有这个默认的名字,诶默认叫remember-me。啊,Remember,告密呀,不是啊。
03:02
嗯。默认就是这个吧,啊对,默认就是这个啊,你要是你要是呃有条件限制,你没办法用这个,你可以使用掉这个方法呢,去修改成别的啊嗯,那这有这功能就行了是吧,咱们这开启了这功能了,然后在页面上呢,咱们找到这个。找一下。嗯。哎,这个找到我们check box啊。记住我哈。Input check box啊,就是remember me啊,这已经写好了哈,叫这个名,哎,然后咱们跑一下试试啊。重启一下吧,重启一下保险啊,我也不确定他刚才重新加载没有。火狐也有无痕无痕模式。然后手机上面浏览器,我看他也有这个无痕模式。
04:05
就是这个。用任何一个浏览器,就得先看一下有没有无痕模式。没有就得注意啊。因为你们电脑都自己用是吧,你们电脑都自己用,其实无所谓哈。那我当着这么多人是吧。我现在现在这边,我现在这边把这个给勾上啊。所以说将来我要万一,万一有一天有什么露出来的话,就是你们要多多的包涵。啊,大家彼此彼此是吧。这回我们记住了啊,让他记住了啊,点这个登录哈。把这个地址给它剪切出来,浏览器关掉。哎,重新开一下。
05:00
诶,刚才班长问了个好问题,我我这个他记住我以后我换个别的浏览器行不行。嗯。哎,试一下。不行对吧,确实不行,因为这俩浏览器他们俩数据是不通的。啊,这俩浏览器,它俩它数据是不通的。这个是肯定不行的,这时候我们就,诶就想到说它背后是根据什么给记住的呢。哎,其实很简单,就是根据cookie来记录的。Session是服务器端,哎,这个浏览器这边它摸不到session,它只能去根据cookie来控制。对,我们看一下啊。F12。会话存储,嗯,现在没有数据哈,本地数据。啊,这是cookie哈,这是它的,这是我们解ID。
06:01
这是简称ID,现在还没有什么别的,然后呢,我们现在记住我以后点登录。他会多一个remember me这么个cookie。哎,那他就是靠着remember me这个cookie去记住的。啊,就靠这个cookie去记录的,而且这个cookie呢,大家想哈。这个cookie要是普普通通的一个cookie的话,浏览器一关,这个cookie就被释放掉了。哎,这个咱们在学绘画控制的时候呢,这种cookie呢,叫做绘画级的cookie。叫做绘画的cookie。然后呢,这个浏览器关闭,这个cookie不会被干掉的,Cookie呢,叫持久化的cookie。那么很明显我们这个cookie浏览器关掉不会被干掉,那它就是一个持久化的,诶那么我们可以看一下从哪儿能看出来它是持久化的哈。哎,就看一下他这个访问的时间啊,过期的时间啊,过期的时间,对对对。你看这就是一个绘画的解测ID,这是个绘画的,下边这个呢,看一下啊。
07:02
2019年。December是。第三本是是12月吗?11月是November是吧?December。啊,对,我就是我回忆一下这个单词。October是十页是吧。星期三二十五号,就12月25号,今儿今儿几号。就是11号那25号正好两个星期14天的时间。啊,这也是他说八点啊,就是这个人家这个时区吧,跟我们这儿不一样哈。具体点不太一样。哎,八差八小时,这应该是那个美国的是什么时区,格林尼治是什么那个时间哈。哎,所以说呢,就是说从你他开始记录这时候开始算这个cookie呢,如果你自己不去清这cookie的话,它给保存两个星期的时间。这两个星期呢,他都可以去实现这个记录啊,所以说就就是靠这个cookie来记录的。
08:05
这个cookie呢,跟我们服务器端交互的话,Cookie的机制是这样的。呃,第一次请求的时候你是没带cookie的服务器端。呃,给给我们返回一个cookie浏览器呢,它就很听话,他就把cookie呢保存起来了,第二次请求和以后的请求,他就把这cookie都带上。诶都带上这个cookie,服务器端拿这COOKIE1检查就发现,哦,这是这个,诶这是登录过的啊,我们现在还开启记住记住我这功能了,那么就不需要他登录了,就承认他已经登录了。就直接就就按登录状态去后边去处理了。啊,就是这么一个机制啊,这个其实也也挺好,挺好理解的,两个星期啊,它默认是两个星期。嗯,那么我们下边为啥还有一个数据库版呢?因为这个没有往数据库里边存,只是我们他CAD这边运行的时候在内存里边存的,他们还得要重启一下,现在没有重启啊,现在这个。
09:05
嗯,记录cookie了。呃,他还是能记住的。啊,这个cookie还在。那这个简称ID其实肯定不是刚才那个了啊,这个还是这个还在。嗯,那么然后如果说我这个时候服务器重启了。服务器这边已经不存那个相关联的那个信息了啊,刚才那种就服务器端肯定也会有关联的信息,现在服务器端这边不存了的话。哎,我们这边呢,看看他还能不能够记得住哈。其实浏览器这边这个cookie是还在的。啊,浏览器这边这个库也还在。但是这个很遗憾啊,这边服务器那边可以用来比对的信息没有了。它就不能够保持了,诶所以说我们如果说希望它服务器重启都能保持住,那么我们就让他能够这个数据库啊,就是能够把服务器端的信息存到数据库里边,这个就不怕服务器重启了。
我来说两句