00:00
啊,然后呢,大概我们这个地方,当然这个流程,由于它不是一个独立的业务流程,所以这个流程我就不换了,我就直接写这么一个拦截器就行了,好,那拦截器的话,这个地方我们来写一个拦截器,那这拦截器也是也是属于。系统管理的功能,系统管理功能我也写到了这个是吧,Settings这个这个包下边那拦截器也属于外部管理的功能,所以我怎么写到外部,那外部下我们以前写过控制器知那下边我们要写拦截器了,所以在这个什么在这对外部下边再创建一个包,这个包叫拦截器的一个包,以后所有的拦截器,关于系统管理的拦截器我都写到这里了。然后呢,我这个地方来写个报,对拦截器叫in特尔对S这样就写了,好这样的话,我们在这里边来写拦截器行了,那在这里边创建一个类,这个类我就类名,我就建名之意了,我就叫log in知道吗?Intercept叫做登录验证的拦截器,知道吧。
01:02
然后呢,这个地方我们就可以了,这是一个肋。我们说这个类你不能随便写,你要随便写,将来请求拦截到之后,他不执行你随便写的方法,你只能按照他的方法写,那么将来拦截到请求之后,它会自动执行相应的方法,知道吧。所以那他的哪些方法,他的哪些方法都在接口里边定义好了,那所以说他的有哪些方法,那我们要实现它的接口,然后把它接口里边定义哪些方法都实现了就行了。好这样,那它的哪一个接口,就这个对叫handle德特就就这么这个接口,那我说这一个接口来看,这个接口里边定义了三个方法,我们在拦截系数把这三个方法实现了就行了,然后实验方按out insert,然后呢,Implement拿这三个方法,这三个方法。好,这是我们说的,这那这三个就是咱们刚才说的请求到达目标资源之之前执行请求,知道吧,执行完目标资源之后执行,然后呢,响应回去之后,最后执行知道吗。
02:06
好,这是我们说的,这那下边我们把我们的登录验证的代码写在相应的方法里边就行了,知道吧,那我们要做登录验证,再看那我们写哪一个方法。把我们的登录验证代码写到哪个,写到哪个方法里边哪一个,第一个还是第二个,对第一个到达目标资源之前执行知吧,你都到达目标资源之后,人家都执行了,你在拦截就没意义了,所以大告我说这个地方在这边执行,所以帮我登录验证代码在这边,在这边执行,行了,这这么写到这里边就行了,那写到这里边,这里边一个这个方法,它的含义就这大卡,如果说这个方法在这么只要符合拦截规则,请求到达目标资源之前自动执行这个方法。那这个方法它有个反问值,布尔类型的,布尔类型的反问值,那么返回出入或者Co,它这个主要有含义是吧,返回出的时候表示什么意思,对不拦截放行是吧?放行等于false的时候表示拦截知道不让它继续访问什么目标资源知道吧?好这是我们说的这好下边大家看我们就把我们代码写到这里边就行了,那我们代码干什么,在这里边,那我们这个地方就要什么做登录验证了,做登录验证了,那如何做登录验证,我怎么说说用户每次访问目标资源的时候,只要符合篮截规则,都会到达目标资源之前都会执行这个头号。
03:33
在这里边我要判断了,判断什么,判断这个用户在访问这个目标资源之前,以前是不是登录成功了。如果登录成功放行,然后呢,登没,如果没有登录成功之后,没有登录成功,跳转到登录页面这道网,所以我们在这个地方要做验证,验证用户是不是登录了,那关键是大家我怎么知道用户是不是登录了呢。带证据。
04:01
对,那你看看你以前让做用户登录功能的时候,用户登录成功了,你干什么事了是吧,那我们干什么事了。是不是用户登录成功了,我们往外边往我们往这个什么,我们做了这么几件事,是吧,用户登录成功了,我们做了这几件事。啊,做三件事是吧,第一个返回响应信息,返回响应信息,这是给登录功能来使用的,是不是这样的,这样第二件事我跟说往3SH里边绑了一个数据是吧,往3SH里边放了一个数据,知道,然后呢,第三件事往外写cookie或者删除cookie了,这个是为了做记录密码来使用的,知道吧。啊,所以说大看我们登录成功了,我们做了这三件事,其中大家第二件事儿,往塞镇里边放了一个数据,知道吧,那往塞镇里边放了一个数据,我们原来给家说了session是给浏览器用户绑定的时候,他只要不换浏览器,只要他登录成功了,他再访问这些功能的时候。
05:03
是不是都得向后台发请求,那向后台发请求,那这些请求只要登录成功了,是不是都是不都在一个session那个范围之内的,都在session session里边放的数据是不是什么跨请求来来来共享的,对,只要是从这个浏览器,他只要前面一开始登录成功了,他在发的访问这些业务资源的请求都是什么从这个浏览器发出的,那说三线里边数据大家怎么都能取到啊。都能取到,每次都能取到,知道吧。这是我们找啊,当然如果说他换浏览器了,那他肯定就取不到了,知道吗?啊,所以说他刚我们说就这样让我们就是,那我们就这么就可以判断,每次他向后台访问这些业务资源的时候,每次向后台发请求被拦截器拦截之后,就是看看这个浏览器它刚一来的时候是不是登录成功了,如果登录成功了,那就从sessionsh里边获取那个U1定能获取到,能有,那反之如果是他登录没没有登录,那30边一定没有放他这个优色,没有放的话,从这个浏览器再发出来这种请求去访问业务资源的,那他肯定是忘。
06:12
肯定sessionsh里边是不是没有U,没有U,所以说大看我们这个地方就可以这么来做了,在这个拦截器里边,我们来判断用户是否是登录成功了,就看看session里边有没有user,有说明什么,他在访问业务资源之前,这个浏览器以前登录成功过,那么登录成过,登录成功的时候,30里边忘了放出据了,他下次从这个浏览器发请求获取,那个30里边一定有,一定有知道吧,那如果没有,没有的话,那呢,他前面一定没登录成功,从这个浏览器发出来请求,前面一定没登录成功,没成功他就获取不功过取了,那什么让他去登录就行了,所以下边我们做这个登录验证了,那登录验证浏览去看看,就如果判断,首先判断一下,就如果知道吗?呃,这个什么来判断这个登录验证,我们来判断用户,如果用户,如果用户然后呢,没有登录吧,我们就这没有登录,你知道用户没有登录成功,被拦截之后,他一访问业务资业务资源请求被这个拦截器拦截了,如果没有登录成功,那这个时候什么则那么则可以让他什么跳转到跳转到对登录页面,跳转到登录页面知道吧。
07:27
好,这时候我们说,那如何判断没有登录成功是不是,就看它那个什么session线里边是不是有U,是不是这样子,如果没有U侧那就什么,那就没登录成功,没登录让他跳转就行了,否则如果有他一定登录成功了,那直接放行就行了,知道吧,所以下边呢,我们就来看看三线这边有没有U,那30这边有没有U,我这个地方拿到session对象了。对,被拦截之后,我这个就能拿到30对象,看看他这个浏览器前面登录没登录过,那我要拿30对象怎么能。
08:01
对,从30面拿优点时拿30拿拿拿30拿拿三对象怎么拿?前面以前有有同学说老师在这个地方注入一个30可不可以啊。可不可以,能注入吗?对不能大哥,你说老师以前不都是注入吗?以前是在控制器里边是不是可以注入啊,以前在控制器里边可注入,现在是拦截器了的看吗?你一注入你看我这边报错了啊,为啥报错了,因为你这个方法是不是接口里边定义的,它都没有这个接口里边定义这个方法的时候,都没定义这个参数,所以你实现类里边写这个参数我就报错了。所以这个地方就不能注入了。这东西不能注入看到吗。啊,那我要获取三人咋过去啊?对,是不是从请求这边就可以获去啊对,请从请求这边获取,那请求这边有方法知吧,Get对get算是这样就拿到了知了,好拿到session,拿到SESSION10我们定一个变量来接入http session对,拿到session。
09:10
拿到三审之后,那我们说这个三审肯定是给某一个浏览器绑定的,那他只要是发请求了,那这个三审获取的三一定是这个浏览器对应的,在服务器里边对应那个三审。那对应那个session,那我就看看这个session里边有没有U啊,有没有U,如果有这个浏览器前边一定登录成功了。啊,因为一定因为登录成功之后往三这边放了,那如果没有这个浏览器,他一定没登录,他一定没,或者说他登录长时间没用,那个session能销毁了,那他长时间不用,那session销毁了,销毁了还得让他重新登录知道吧,所以不管是什么样,就看看session里边有没有UR,那有没有userr,那是不是就获取了,获取的话怎么获取啊对get垂里边这个key是什么。
10:04
常对,就是那个常量值是吧,就你别你别写死了是吧,你别写死了那个常量值是吧,我们说那个常量值,那个常量值就这个。对叫content,点它里边有个叫对session u啊放的时候叫它,你取的时候也得叫它好,所以然后呢,这个地方来个右侧,然后呢,这个地方来该导入的类引入一下,那我们说这个地方我们说得强转一下,对强壮一下,然后呢,这个地方来个强壮一下。这样的话,我们就获取了这个三这个U侧了,那这是不是就一定获取到了呢?对,不一定是吧,那家看它是不是等于空,等于空说明什吧?对,说明session里边没有user,没有user说明这个浏览器没登录过。啊,或者登录的已经过期了,知道吧,那还得让他重新登录知道吧,所以这时候我们说,那这么来看看它是不是等于空,如果它等于no功等于,那那说明30这个什么30多没有U,没有U说明这个浏览器没登录成功,没登录成功让他什么跳转到登录页面,那跳转登录页面怎么跳转。
11:17
对,这个地方有两种跳转方式,请求转化充电项,是请求转化式充电项。对,是不是重内向啊,对重为啥是重内向。定数对地址栏是不是要改变啊,对,要跳转到登录页面,地址栏要改变,那重定向在这个地方重定向咋重定向叫什么?能不能直接return,能不能直接这么Di,是不是不能啊?对,不能,这是在ctrler里边重定这么来,现在不是CTR,现在是intercept,知道吗?所以那这个地方重定向是不是得找谁了,对我们自己重定向了,就不能借助框架重定向了,在CTRL里边可以借助框架spring FC那个返回值重定向,那么现在在1S你得自己重向,自己重定向咋重定向对叫叫什么点,叫这个send redire是吧,就这个重内向到哪去,是不是把你这个什么路径写到这对路径,那这个路径咋写。
12:29
帐下吗?这样行吗?写第二,这样行吗?不行吗?对,这样这样不行,这样不行,为啥大家以前学重定向的时候,老师是不是给大家讲过,如果自己重定向的话,重定向哪儿去?请求转发可以直接写那个资源的名称,然后呢,重定项呢,还得加上什么,对项目的名字,大家还记得吗?对请求转发直接写这个是吗?
13:07
直接写这个这个资源的名称,就名称就行了,就写你配置那个URL就行了,但是重真项必须加项目的名字。啊,我们这个地方项目名字叫什么?对CR直接加他就行了,当然你到后面他就是访问你这个1L了,知道吧,这你就项目的名字,当然你说老师我后边带个斜杠你知,那这样也行也行,当然你要不带一斜杠可不可以对可以为啥可以呢?对默认到化原,你这直接这么写就行了,知道吧,所以大家一定要记住哈,你自己重定项的时候一定要带项目的名字,懂吧,那你说老师不对啊,那你以前这个地方你咋不带项目的名字。就是公就是这个项目,因为是。默认项目,谁默认是项目的?谁默认是项目的?这个地方为啥不是默认是项目的?
14:05
这个地方咋不为啥不是默认项目的,这个为啥默认项目的。这个谁默认的项目的,那那你就看看这个地方谁帮你重定向的。是你自己吗?不是,那谁帮你?对,框架C,所以这个地方我们其实是借助框架帮我们response.c redirect知道吗?你只需要什么返回,告诉他返跳转哪个哪个资源就行了。那么底层真的真正的要重定向,必须得执行这个代码,必须得执行这行代码才能重定向,SPAIC这个地方我们是借助,这个地方是借助spring mvc框架。然后呢,来定项目,来重定项啊,怎么借助它其实在底层SPA Mac一直一看到你返回这么一个东西,它就把这一行代码给你翻译成什么了呢?对,翻译成response.send read。
15:15
对,它给你翻译成这个代码,翻译成代码里边写什么,对里边前面什么,给你加上项目的名字,我们这个地方就是CRM,然后呢,后边给你加上这个。他在MC底层执行的时候,一看你返回这么一个东西,它就给你翻译成这一行代码执行了。在底层他是这么执行的,这个地方大哥前面这个项目的名字,你说老师这个地方怎么不让我写了,他默认就是当前项目的名字,谁默认的,Spring m Mac默认的是吧,其实你这么写在底层执行的是这个,大家可以看看spring m Mac的源码,它底层你一这么写,它就是执行这么一个代码。就这。
16:01
啊,所以这个地方是吧,这就是框架帮我们带来的好处,怎么框架代表好处,一些默认的数据你都不用写了,你只需要写你要拓展哪个资源名称就行了,他给你翻译成底层代码,执行的时候他给你什么,自动给你加上这个项目的名字,这是框架给我们带来好处吗?知道吧,那我们这个地方是我们自己重定项的,没有人给你加了,你必须按协议写了,协议说了,重定项的时候必须加项,加项目的名字,你自己重定必须加号,大家能理解这个意思吧,现在对这样了,所以说这个地方必须加项目的名字,这是我们自己重定项目的时候,这是我们以前学外B的时候,老师给大家讲过的,知道吗?这是重定项时,是自己手动重定项时,知道吗?重定项时必须UR啊,UR必须加啊,必须加项目的名称啊,名称这种。这样的话我们就重新了,好这时候我们说到了这那这个地方,我说这样写其实有问题的。
17:03
有啥问题了,对这个项目的名字你写死了,现在咱们部署的时候叫CRM,万一以后部署的不叫CRM了,对叫别的了,这个项目的名字是不是,是不是不能写死了,不能写死应该怎么写?对动态获取项目的名字就是获取斜杠下面项目的名字动态获取咋获取?对这个快是不是找快,对它里边有个方法,哪一个方法对这个方法嗯。对,他这个方法获取的就是什么斜杠加项目的名字,项目的名字,你你以后部署的是什么,它就是什么,这样就动弹了,好这样的话,大概我们这个重一项我们就行了是。嗯,当用户从浏览器上面发出一个访问业务资源的一个请求,如果符合拦截规则就被他拦截了,拦截之后在请求到达目标资源之前执行吗?这个然后判断它30秒是不是有U的,如果没有跳转,跳转到首页去知道吗?
18:13
跳转到首页知道吗?那跳转完首页之后,这个代码还会不会继续往下边执行。会对,默认会继续往下执行,那我们需不需要让它继续往下边执行,对不需要,不需要,怎么对return return return出还是return false对,Return false对被拦截了对拦截了没登陆,没登陆后边代码都不执行了,而且目标资源也不访问了,终止访问目标资源知道吧。这是我们说的账,好,这是我们说如果他没登录就直接跳转,跳转之后就直接什么全部拦截了是吧,这是我们账,那如果他登录了呢。对,登录了这个user是不是一定不会空,对,一定不会空,这里边进不来,进不来干什么,继续往下边走,是不是要执行这个return了。
19:06
这个水烫是改成什么?对,改成出入就行了,这样的话,我们这个拦截器我们就行了,就道,所以我们说了任何一行,任何一个类,任何一行一行代码,任何一个符号,你都得知道为什么这么写。知道吗?那这样大家以后是吧,你自己写的时候,你才知道怎么写是吧。你别说别人这么写,我也这么写,不是这你必须能说出来原因,这样才真正学会了,好这样的话呢,我们这个累就写了,这且这个类写型了,现在还不行是吧,它不会,它不会自动执行,是不是还得配置一下子,对,还得配置一下子。对,配置这个拦截器,那配置拦截器在SPAMC的配置文件里边来配置,那来配置吧,然后呢,在SPAMC的配置文件里边,在这边配置拦截器啊,那配置拦截器在这边配置吧,在这配置,那配置完用哪个标签配置,对有一个叫什么?对MVC有个intercept看到吗?这个是个负数标签,它可以配置多个拦截器,你知道吗?在我们项目以后可以做创建很多的拦截器,这个拦截这是拦截这种请求,另一个拦截,拦截另一种请求,这个拦截做这种验证,那个拦截做另一种验证,知道吗?
20:21
那我们这个地方就这么来配置,那配置的话,看看这里边有一个是吧,对in s一个一个配置。那配置的话,大家首先大看它有这么一个标签,这个标签是干什么的。对表示要拦截哪些请求,是不是这样的,对拦截哪些请求,那我们这个拦截器登录验证,我想拦截哪些请求呢。然后剩下的人或者。对对,那我们这个拦截,其实其实大卡我们的就是拦截访问业务资源的那些请求是不是吗?那访问业务资源的那些请求。
21:00
我们说那些业务资源都放到哪了?对,是不是都放在settings或者work奔驰下边了,对我们的业务页面,包括系统管理的页面也得什么拦截我们这些页面其实就是什么用户想看的就是这些页面,就想看这页面,我们就拦截访问这些页面的请求就行了,那我们那你说老师诶这里边这些页面不都是什么放到web iner里边,用户不能直接访问,还用拦截吗?我们说知道,当然他不能直接访问这些什么页面了,我们就是将来给他做的时候是通过什么,对对,通过访问CTRL能够跳转到这些页面去,是不是样子访问CTRLL是吧,所以说大家我们这个真正要拦截的是什么?是是访问跳转到这些页面的那些什么ctrler方法的,是不是这样的,那些CTRL法,每一个CTRL方法都有什么,都有一个URL,那他想访问哪些页面,其实就访问。
22:00
Ctrler啊,所以说呢,我们这个地方只需要拦截那些什么访问CT出热的那些什么那些请求就行了,知道吧,那那些CT出热的请求,咱们以前给大家说了,每一个CTRL方法上面都有request mapping给它分配一个URL,那些URL带上,我要拦截那些URL,那些URL有什么特点吗?对,有什么特点。对那些幼儿我们起的时候,我们说不能随便起。每一个院都和他访问的这些什么?就访问的这些页面的资源和路径是不是保持一致了,所以我们那些ctler那些方,那些ul,要么都以settings打勾,要么都以work编导勾,是不是这个意思,这个意思知道吗?所以当时我们要求大家URL的那每一个controltl方法的URL,大家写的时候不要随便写,要和他访问的页面资源的目录保持一致,我们在这个地方它的好处就体现过来了,我们要什么拦截访问这些页面的这些什么这些请求,直接拦截那些UR技能,那钥都和什么他们的路径保持一致,所以我们这业务资源的这些什么业务资源的这些UR,我们要要拦截的话,我们只需要拦截什么以3S打头的和以work克奔驰打头的这些请求,只只需要拦截这些CTRL,访问这些CTRL,这些请求是不是那些业务资源他就访问不了了?
23:32
都能够做验证了,知道吗?啊,当然你们老师他还有有的访问解,有的访问这些我都不拦截,为什么?因为这些不会泄露我的数据,不会动我的这个系统做出风险,这些他该怎么访问,他随便访问,我只需要拦截这些什么,以这些打图的这些请求就行了,所以下边呢,我们就得准备来配置。怎样配置所有我这个地方要拦截所有以setting打图的那些什么URL怎么写啊。
24:01
对斜杠是不是表示应用的根啊对从应用的根往下写塞,然后呢,就是是不是塞定字了,对塞定子三对斜杠,它下边有很多子目录是不是,这些子目录是不是也都一块拦截了,一块拦截怎么对写个星是个星,一个星够不够不够是吧?一个星表示什么意思?对表示任意的这个下边的任意一个子目录是不是知道吗?任意一个一层子目录,它只只能是一层子目录,假如我还有一个一,我还有一个这种请求,对这个下边有一层子目录,下边还有一层子目录,下边还有一层子目录,如果一个星这些能被拦截吗?对这些就拦不了了,所以我们什么以他打头下边补,不管有多少层目录都拦截。这个地方要写什么?对星星两个星不但包含一层子目录,还包含下边的多层子目录,都可以拦截,这是我们说以setting打头的这些请求都被拦截了,这是我关系统资源的,系统的资源的这些怎么已经拦截了,下边大家关于业务功能的这些资源是不是还没拦截到,还没来以沃克奔驰导度以后将来我们肯定要做这些,写这些功能,他们的UR度与沃克奔驰导度,那沃克奔驰导度也要拦截怎么办?对,再写一个什么,再拷贝一份是么?麦屏,然后呢,这个地方再什么配置,所有从这个视图解析器往下找,其实这个地方就相当于应用的根了,因为将来它会自动下面加上前缀知吗?然后往下找,找谁啊?对沃克奔驰下不还是下不到子,一级子母录以及多级子母录都被拦截了,知道吗?
25:52
好,这是我们说的,这这是我们这个拦截所有以setting work被打头了这些群求,那这个地方有问题了是吧,有啥问题呢,你这样拦截所有以setting打图,所有以work倍数打图都被拦截了。
26:11
只要是访问他们这些资源,每次都得执行我们的拦截器,看看登陆了吗?如果没登录,跳转登录页面,然后都不执行了,如果登录了放行。那这个时候就有这种问题了,有什么什么问题,对,假如说这个用户本来就去登录呢,他本来就是登录什么,他就访问我们的这个什么,他就访问到我们那个叫什么来着,对去访问我们这个了。To log in the do,它本来就是来登录的。一访问登录的,那它是不是访问我们这个CTRL了,对访问这个CL settings打头是不是也被拦截了,对也被拦截了,登录了吗?没登录没登录,跳转登录页边。那一直是不是跳转登录页面,一跳转登录页面,那又来到这又来这又被拦截了,因为符合拦截规则,登录了吗?没登录没登录去登录吗?然后又来到这个又被拉进了是吧?然后登录吗?没登录没登录又来了,大家看这个地方就形是不是形成一个死循环了,死循环所以说他本来就是去登录呢,他肯定还没登录呢,这个时候你为他登录了嘛,所以他肯定没登录,所以一直在什么这个登录对一直在这个登录页面上去就重这个形成一这种死循环了,知道吗。
27:30
所以那这个时候怎么办呢?拦对是不是这种请求,他本来就去登录的这种请求就不拦截了,对不拦截,那不拦截怎么是不是它里边还有一个标签啊对,这里边还有个标签叫什么对X刻的外屏表示排除哪些请求就排除拦截哪些请求,就不拦截哪些请求,这种这个地方是这个地方,哪有什这种,然后呢,这个是配置拦截的请求,配置拦截的请求,拦截的请求,然后呢,下边来配置,然后呢,排除配置排除拦截的请求,配置叫排除拦截的请求,知了,那要排除哪一个,就排除这个请求了,就这个请求。
28:23
就是要跳转到登录页面去哪一个地方,就这个啊,我们这个地方。Two老,他要对他要跳转的东北味,把这个什么,把这个请求排除了,对把他排除了就行,把它拍出来,哎,这个地方这样就行了。其实他看不但要排除这个,还得排除哪一个,对他一什么输入之后一点登录,是不是也得又访问一个CTRLL,访问CTRL不就叫登录验证,就CTRL那个也得排除,因为还没登录验证,肯定还没登录成功。
29:00
所以他又被拦截了,又被拦截什么,肯定安排登录任务,又跳上登录夜班,就是他不让你登录验证码,所以还得排除哪一个,就这个地方,这个地方也得排除。这个就是做登陆严重知道吧,这个也得排除,那我们这个地方来继续把它排除了,MVC手套,然后呢,把这个地方就排除了,还有需要排除的吗。对没有了是吧,目前没有了,就这吧,这是我们这两个是,那有老师我怎么知道要排除哪一个,那这是你分析的是吧,这是你分析的,所以这是我们这是拦截的和不排除拦截的是吧?拦截和排除拦截都容都配置好了,那有老师那这样,那你你配置这一个什么,又是拦截,又是又是排除拦截,如果我有一个这这么一个请求,这么一个UR,他既符合拦截的规则,又符合排除拦截的规则,那到底拦截还是不拦截呢?对,不拦截以什么以下边排除拦截为准,知它的优先级更高,排除拦截的优先级更高,优先级高啊,比上边拦截的这个什么,比这个标签的优先级高,这个标签的优先级比他的拦这个优先级高,如果两个都符合以它为准,它的优先级更高,知道吗?好,这时候我们配置啊拦截哪些请求和不拦截哪些请求,那你这个拦截器执行哪个拦截器后边还有一个标签来配置你的拦截器类的哪一个就这个。
30:37
这个背景是吧,然后呢,这个地方来个plus半径拦截器的什么名字写到这就行了,北京power note,对,肯定是全名了,然后呢,Settings下边的。对外对下边的intercept,下边的log in inter知道吗?这样的话呢,我这个拦截器我们就配置好了,写好也配置好了,这些标签大家要知道都是什么含义,我不需要你背下来,但为什么不需要背下来,因为这些大家你用这种编引用这种这个这种开发工具的话,它都给你提示,但是你要知道他们什么含义,知道他们的细节的一些用法,不需要背标签知道吧,所以这个地方这个是拦截器类知道吧。好,这样的话呢,我们这个拦截器我们就开发好了,也配置好了,下边来启动服务,我们就可以测一测了,知道。
31:30
每次访问业务资源都会被他拦截,知道吧,看看是不是登陆了知道吗?好,下面我们。
我来说两句