00:00
前面呢我们说了一下spring session的核心原理,那接下来我们就将代码呢再来细化改造一下,只要我们这个登录成功,那么这一块呢,登录我们现在有两种方式的登录,一个是使用奥兔来进行社交登录,那社交登录成功一回调以后登录成功我们会将用户信息放到session里边。第二个是我们普通的登录,我们按照账号密码来进行登录,来可以看一下,那么下边如果按照账号密码来进行登录,那如果登录成功,我们也应该放在session中,好,我们现在呢,把这一块细节我们来完善一下http session,由于我们现在整合了spring session,所以我们给session里边放数据是没任何问题的,session.set attribute,那么放到key value我们都可以来拿过来,那么之前放的key呢,叫login user,那么以后呢,就都叫login user,包括我们这个key啊,我们不应该在这直接写一个我们这个常量,我们写死在这。
01:00
那应该是我们作为一个抽取出来的常量字符串,我们以后呢,想要用这个K,我们都用那个常量就行了,呃,我们可以把这个东西呢,我们来抽取到。com里边,否则呢,我们将这种就成为我们的魔法值,诶我们这个Logan user,那们下一次再取的时候要用Logan user取,但我们上一次到底是存的用的是哪个K,我们还要追溯到我们这个Logan方法,我们看诶他存的是用这个Logan user k,那么取也要用Logan user k,所以这个K呢,我们也应该全部抽取出来,我们放到这个常量里边,比如我们这个认证服务器的这个常量,这个常量里边呢,其中我们再来添加一个们登录成功的用户,比如我们就叫login user,没登录成功的用户,我们给我们的session里边放用的key,我们就叫log user,好我们就叫log user,那以后放的时候呢,我们就全用它就行了,那我们在这来放,使用K,我们这个author serve constant。
02:00
我们用login user,那只那只要登录成功,我们最终呢都是返回的是用户信息,我们在这要提取出用户信息,Login这一块只要一切正常,那就应该get data,那么将data返回的这个数据提取出来,因为远程服务只要是调用这个member phone service,那么最终呢,返回到的都是这个member response为O,所以我们就使用这个方法,我们将它提取出来,提取成一个member response为O,好。我们来调用log get data方法,我们将我们远程的数据来提取出来,把这个数据呢,我们最终再来放到我们的session里边,我们普通登录会调用远程服务的login方法,我们也可以来确认一下远程服务的login方法是调用我们普通的这个login,好,我们来看普通的这个Logan在member里边,普通的login跟author two的Logan有什么区别,我们普通的logn来到member member,我们普通的logn呢是返回的是我们的这个,我们来往下看是member nity,然后呢,我们这个author two的log登录成功,也返回的是member n,所以都是返回这个,那就没什么问题,那么就把这一块呢,登录成功的处理,我们相当于现在就做好了,只要这一块成功,那么就将成功的整个用户信息OK,点一个set data要返回出去,只要登录成功,所有人呢,都是返回出去,由我们的远程author服务,他最终收到登录。
03:31
成功的这个信息它逆转过来,然后放到session里边,所以这一块呢,登录成功我们放到session中,成功我们来放到session中,好,我们把这一块的逻辑呢,我们先写好,那么这一块无论是社交登录成功,还是我们的also to登录成功,我们都会将成功的用户放到session中,然后接下来来到我们的首页,我们这个现在现在是商品首页,我们这个商品首页呢,就应该取出来,我们这个信息来到这儿,我们index页面,好在这来取出,当这个页面呢,应该是变的,如果是登录成功了来取出信息,登录不成功来显示的是这个,所以我们来写一个th if来做一个判断,如果我们这个session login user是空的。
04:16
我在这来判断它,我们来写一个表达式,它不等于空,那不等于空,我们就来显示出这一块的信息,那就应该说,诶,我们把这个欢迎你,我们这个用户信息是什么好,我们在这来加上,那这个文本内呢,我们就显示欢迎谁谁谁好来加上这个提示信息,否则的话,那我们就应该是下边的这个流程啊,而且呢,如果是换一页,我们就应该没有这个超链接了,我把这个超链接呢剪过来,有超链接是应该在下面有的PH if,如果说我们的这个session login user是空的,那这是空的的话,那说明我们没登录,没登录我们可以来提示欢迎请登录啊,欢迎我这个请登录,好把这个页面呢也来修改了一下,包括我们这个登录成功了,就不会显示这个免费注册这个一块了,就来THF。
05:13
那么在这如果它不等于空,那等等于空,我们来才显示我们这个注册逻辑好,我们现在呢,现在修改了我们的会员服务,以及我们这个认证服务器,我们的商品服务,我们将这三个呢都重新启动一下会员,我们这个认证服务器,包括我们的商品服务好来重新启动。我们先来改了一下页面逻辑,其次我们来到这个o server o server我们先让它启动成功,我们来看一下,如果我们去来登录,我们自然会调用这个登录方法,当然要去登录页呢,我们来做了映射,这个映射呢就是logn GSP会来到我们这个视图,我们的这个视图就叫login,注册呢就来到注册,但如果默认上来就访问我们这个登录页,如果我们现在是已登录状态,我就应该给它直接重定向回首页就行了。所以我们现在把这一块的逻辑先来完善一下,好,我们来等待这一块重启,包括我们来观察我们red里边之前存的这些数据还在不在那时间长了,我们这个自动应该会过期,来看一下效果。
06:20
好,我们现在这个数据spring session,我们之前登录的这些状态信息还在,那么现在来重新来测试一下,那如果还在,我们相当于已经登录过了我们这个浏览器没关,所以呢,我们现在来刷新我们登录的用户还会有的,好这一块呢,我们就先来清空also server,我也来清空,包括我们的member会员服务。以及我们的商品服务啊。我来先清空来刷新,现在我们来到首页,诶欢迎谁谁谁,那我们这一块呢是对的,那如果没登录,那我们把session呢全部清空好,我们把这一块呢全部刷新掉,那现在刷掉以后呢,我们来刷新,现在我们相当于没登录,没登录我们来点一个登录,登录呢我们来使用社交登录好,我们来填入账号密码,然后再加上我们的验证码来登录,那登录成功以后就会跳回我们这个首页,而且我们会将登录的信息放到我们的red中,由于我们这个服务重启了,所以第一次老是爱超时,我们可以把这个呢重新来刷新一下,好来重新登录好,现在登录成功的用户放在了我们这一块没问题,那么整个流程呢,那就是对的,但如果接下来你再来访问我们的这个author,我们这个author服务的登录页,如果你再来访问我们的这个登录页,因为我们已经登录过了,所我们这个登录页呢,你其实敲这个地址也应该是跳回首页,所以们这个登录页呢,我们还要做一个逻辑,那这个登页。
07:45
那我们就不做映射了,做这个映射我们不能写自定义的业务逻辑,我们就直接来写一个CTRL,这是处理登录请求的,来登录页我们来写一下。好,我们就叫public string,我们现在就叫Logan page,我们现在要去登陆页Logan page。
08:04
要去登录页处理的请求来写上enter,一个get map,那登录页处理的请求就叫log.html,好,而且是我们这个当前项目跟录镜下这一块呢,没有什么基准路径,好,然后呢,我们来登录页,登录页呢,我们来跳回我们的这个登录页,我们把这个配置我们就来去掉,我们现在要加上我们自己的处理逻辑,好,我来跳回这。那现在呢,我们要做的判断就是如果登录过了,那我们就不用回到这了,如果没登录过,我才需要回到,所以呢,想要看登录页,我们拿到h dp session,我们就来判断一下,我们从session里边get atribute.get attribute,如果说我们拿到这个已登录的用户信息,我们来看它有没有登录,如果session里边存着了if,如果他等等,那这个是呢,没登录,没登录我们才需要展示登录页没登录,那么把这个登录页呢放在这,那登录了,那我们就应该直接跳回首页就行了,Else。
09:11
那如果登录了,那我们就直接让它跳转来,我们让他重定向回我们的这个鼓励ma com这个首页,好CTRLC来复制来,而且呢,这一块大家注意,我们这个域名呢,我们上线以后有可能会发生一些变化,所以大家如果想要做的更完美一些,应该把它抽取为一个可配置的,跟配置文件来进行绑定,好我们先写在这儿,那我们现在来重新来启动我们的这个奥服务,我们这个奥服务呢,主要写了这个登录页的逻辑,如果我们已经登录了,我们再来访问登录页,那就应该是我们就直接会来到我们的这个首页来看一下我们最终的效果,因为我们现在已经登录了,而且我们这个session里边都有这个相关数据,我们red this里边session里边存的数据,我们这个浏览器也没关,现在还是同一次会话,那如果我再要访问这个登录页,我来刷新发现呢,它就会直接跳到我们这个首页。
10:11
好,我们把这个逻辑呢,我们先来优化一下,包括我们来测试一下我们的正常的常规登录功能,我把这个session全部清掉,我们除了做社交登录,我们还做了账号密码登录,好我们来点一个登录,那使用账号密码,那么之前注册我们可以使用手机号或者我们这个用户名登录都可以,那么密码呢,我们来写上,好我们来点击登录,同样的登录成功,那我们在这儿呢,会保存出来,欢迎谁谁谁,只不过我们当时注册雷锋阳的时候,这一块呢,没有这个昵称信息,所以们可以给这儿来写一个昵称,比如我们让他昵称默认呢,在注册的时候,就等于我们这个用户名这一块呢,也可以来完善一下,我们来把这个注册逻辑也稍微修改一下,我们在会员服务里边,我们想要注册好这个注册呢,我们也是在这儿注册的,首先页面给我们提交一个注册的VO,我们将注册的所有信息都交给远程的member phone service,好,我们来看一下我们会员的这个注。
11:11
注册功能,远程的这个member的注册,把这一块注册们也改一下,那在这来进行注册的时候,默认我们也给一个昵称,比如我们这个nity点一个set Nick name,这个昵称呢,我们就是我们默认的这个用户名,因为我们这个用户名我们页面有提交,也提交了这个手机号,好我们就来写上他的用户名,那现在来重启一下我们的会员服务,我们就不也是注册整个功能效果了,让他下一次重启的时候呢,自己来再注册的时候,我们让他在下一次注册就直接有一个这个昵称,那现在呢,我们就给他退出一下登录,这个退出登录呢,那最快的方式我们直接将session清空掉,相当于我们现在没登录,那没登录我们就要显示这个登录,那现在登录,那登录以后呢,我们使用账号密码来进行登录,先使用我们这个用户名,我们手机号,那登录出来查出来的用户信息里边就有昵称,我们在这儿呢就展示好了。包括我们具。
12:11
其他服务也都一样,比如呢,我们现在来看我们这个手机分类下,我们去检索服务,我们这儿呢,也有整个标头登录了,也是这样显示,包括我们来点一个商品进入它的详情页,这一块呢,也有这个标头么?在任何服务那相当于都要来填写这一块的信息,那么就把这一块信息都统一修改一下,那么现在呢,除了我们这个author这个页面,我们来看一下我们的这个商品信息,商品页呢,我们只修改了首页的这一块展示,然后呢,我们把这个item页们来也修改一下,来搜索一下我们这个请登录,好请登录,你好,请登录,那就在这儿,而这一块呢,整个展示我们现在要变一下,那先control home,好,我们引入了这个SIM名称空间就来取一下。
13:01
那么就在这直接使用我们的TH,好,我把这一块直接去掉,来写一个th if,如果我们这个Dollar福大括号,我们session里边有一个叫Logan user,如果我们这个Logan user等等于那我们现在是空的,我们就显示你好,请登录,并且呢链接地址我们也可以来指定上,那现在立链接地址都是HTP冒号双斜杠,我们现在呢要登录就是O点鼓励mail,好,我就叫鼓励mail.com下边的我们的登录页log.html。这是我们的这一块,那否则的话,我们这个Li里边的A标签,我们就来重新显示一下。好,把这一块拿过来,这是th if。当然我们接下来还可以用另外一个标签,我们叫THL。否则呢,那就是登录了,我们把这一块呢,去掉th else else呢我们就不加判断了,上边为空,Else呢,那就是不为空的情况,那如果不为空,那么就来显示欢迎来我们就或者就叫你好谁谁谁也行,好把这一块呢,它的这个用户名取出来,双重括号,招乐福大括号,我们取出的是它的昵称。
14:19
我们现在是从session里边获取数据,Session点一个login。User的nickname,好,我来CTRLF9啊,我们这个页面来编辑一下,我现在来看一下我们的这个页面,我现登录了,我们的效果好,我们这一块呢也已经取出来了,没问题,当然我们这一块呢,样式有问题,我们先不用管了,我们来看一下我们下边的这个注册,当然这个注册要想完整的展示,我们就应该是一个TFTHF,如果我们没有登录,我们就来显示这个注册页的这个链接,好,我们把这一块呢还是拿过来。包括整个注册的这一块链接地址,我们遇见了,你就来直接它修改成正确的,那现在叫O,叫鼓励mail,点一个com下边的register,我们注册页叫HTML,我们来看一下我们这一块的样式效果,CTRLF9我们来刷新一下走,那么现在只要登录了我们这一块呢,就不显示,而我们这块呢,你好谁谁谁,它没有给我们放在一整行,那为了这个显示效果好,期间比如我们把这个你好我们就来删掉啊,本来就显示的短一点,然后我们来给它加一个自定义的ste,给一个宽度,宽度呢,比如给一个100PX来看能不能显示到位,CTRLF9来刷新一下,好,现在这一块呢,显示正常,然后接下来包括我们的这个检索页,我们来到首页,来把这块首页的跳转,我们也来改一下。
15:52
那现在要来到首页,我们整个鼓励商城这一块链接的跳转。我们来把所有的这一块叫A标签,我们ref等于我们的这个static这一块,好有一个叫navy top one下边的这个AA标签来找一下,好就是它,那就是它了,那这个A标签我们要跳回首页,我们把这个首页呢也改上HTTP。
16:19
我们叫鼓励me点一个com ctrl f9,好,我们来刷新一下现在我们的这一块,我们来先跳回首页,跳回首页我们现在来到检索页,那检索页这一块呢,也要显示这个效果,那检索页呢,现在又是检索服务的,所以为为检索服务还要引入我们的spring。因为它要从session里边获取用户,好我们在这我们来直接来引入使用dependency,我们首先呢是spring session data RA来引入它,好我们来CRY去掉,包括呢我们操作RA,我们还要引入red的starter,我们应该是data RA的这个start。
17:00
Spring start data RA,好把这个呢,我们也得拿过来,然后呢,我们把red的连接信息等等相关我们配置过来,来到我们的search服务,那search服务里边,我们在application properties里边,好来配一下那red的相关配置,首先是我们这个red的地址。我们这个地址是192.168.56.105虚拟机的地址,剩下我们就不用管了,然后呢,我们要整合了session,所以是spring session,我们这个store,我们存储的类型是red,这一块呢,我们写完也不用管了,然后在这一块我们再来开启我们这个htp session,好,我们来enable有一个red htp session,这个开启了以后呢,我们知道session配置也要把以前的拿过来,要使用同样的序列化方式,同样的key,我们要获取好我们把以前的商品服务。那们就来复制一个我们这一块session的配置CTRLC,我们给这儿来复制一份,走现在我们只要重启我们的检索服务,我们来到它的这块检索页来找一下这个你好请登录,你好请登录,那这个请登录呢,那就应该做一个判断,先来CTRL后啊加了这个SIM名称空间。
18:19
那这个判断呢,就应该是th if,如果我们这个已经登录了Dollar符小括号点一个叫login user等等,那这是没登录,没登录我们显示这一块,您好,请登录我们的地址,就是HTTP,我们的author,点一个鼓励ma.com下边的log.htmr。否则我们来写完一个,否则th else。那么否则呢,我们就来显示我们的这个标签,那这个标签呢,里边主要只有一个内容,那就是我们这个欢迎信息,那我们就直接把这个欢迎信息取出来,双中括号Dollar福大括号,那session里边的login user session.login user里边的nickname,好。
19:11
把这一块的样式呢,我们也来加上调我们的宽度,我们来也设置成100PX,好,CTRLF9,包括我们把整个的这个search服务,我们应该重启一下,那将search服务一重启,然后接下来只要我们访问整个检索页,那这一块的标头呢,我们也都改掉了,包括这一块还有这个免费注册这一块,免费注册的这个地址我们也来写上http also,点一个email.com下边的注册地址。好,这是我们的注册,包括这个注册想要显示,那就是没登录,那就来判断一个,如果它等等于空,我们就来显示。好,我们让它整个呢,Search服务来进行重启,好这一块呢,我们就重启成功了,好我们来把它清掉,然后呢,我们来刷新刷新好现在我们看到雷凤阳这个登录状态呢,也在这儿。
20:08
而这个免费注册我们这个页面呢,是重启以后改的来CTRLF9重新让这个页面连一下。来刷新,好,现在我们整个状态信息呢,都是成功的,我们使用spring session完成了,只要在我们also服务,我们只要登录成功了,那以后呢,我们去任何服务,我们都可以从session中获取到我们当前登录的这个用户。
我来说两句