00:00
呃,前面呢,我们讲了这个future的使用啊,接着呢,你看我们又回到书城项目啊第八阶段,第八阶段呢,主要是有两个功能点啊,一个呢是使用future过滤器来拦截page下的manager下的所有的内容,实现这个权限检查,其实这部分的内容就是什么,其实就后台嘛。后台我们打开这个速成给大家看一下哈。书城这块。我们来启动一下。那么大家来看一下哈。书城里面pages下的,Manager下的这些内容,大家看这些不都是什么东西,后台的程序吗?对吧,从这里开始后台管理,它就开始跳进这个后台管理系统,一般后台是需要登录啊,才能够进来操作的啊,你看换到后台像这些内容就要求必须登录之后才允许访问,那这个时候。
01:07
咱们的诉求就是使用future进行拦截,不登录不让你进啊,不登录不让你进,好,那这时候怎么办呢?我们就写个future来做一下。嗯,我们在这边。去一个包啊,一个future的包。好,然后呢,在这里面再有一个类叫做manage future。呃,Manage future用来做这个后台啊,然后让它实现future这样的一个接口,实现它的方法,然后我们重点关心的就是什么,就是do filter方法,在这里面做这个拦截啊,怎么做。首先得得到session serve that request.get session这个方法呢,没有怎么办呢?类型转换一下,转它的TP serve that request转成这个啊htp that request等于request类型转换。
02:16
然后转换好之后呢,HP.get session.get触屏咱们获取U左,因为用户登录之后就存在这里,好usual,那么在这里面判断一下啊。If什么呢?如果usual它等等于空,就说明什么?说明它没登陆过,嗯,没登录怎么办呢?让他跳到登录页面,APP request.get requestpat,然后写些page下的user下的a log硬点接着P让他去跳啊。
03:01
That request that response就好了。OK,这是转发,那如果说已然登录呢。怎么办呢?放行呗,还记得吧,Train点读future。嗯,咱们说serve request that response对吧,这就是放行,这就是放行好,然后配置好以后啊,咱们到握B点参面再配一下啊。呃,到我点餐没有,这边来配置一下future,这个future name呢就是manager,然后future。是manager。Future,好。它的这个拦截路径,Manager下的什么东西啊,Pages下的manager下的新,大家注意看拦截这里全部的内容是吧?好,那配好之后啊,咱们重新的部署一下,让它生效。
04:15
稍等啊稍等。呃,重新部署好了,大家注意看啊,现在用户还没有登录,你能够随随便便的进后台吗?点击它是不是让你登录了,看见了吗?诶,这时候呢,你就乖乖登录吧,啊走登录登录成功了吧,然后这时候你才允许进后台,大家看见了吧?好,这就是future做的这个拦截,但是我们这样写就好了吗?大家注意看一下哈,我现在注销,嗯,我们刚刚写的这个确实完结了吗?看了没问题,但是大家注意看一下,对于老手而言对吧?对于一些懂行的人来言,你看啊,他是很容易跳过这future的,因为你刚刚写的没有完整,就是manager下的,诶看见了吗?如果说我这么写呢。
05:09
走,他就直接跳进后台来了,下一页下一页你看见了吗?诶,他还能用,为什么?因为啊,大家注意看我们刚刚写的这一个拦截地址。这是一个拦截地址哈,我写在这里,然后我们现在跳过的这个请求呢。他们地址一样吗?来稍微看一下哈,这个地方是表示到工程名后面吧,是不是不同,我们蓝的页面呢,是工程名后面pages,而我们刚刚才请求的这个manage book select是什么?这select程序是后台的一个略程序,它也是要拦截的,所以不仅仅是拦这个页面啊,它也得拦,怎么办?请看,大家注意看啊,我们在这个future map里面其实不是可以只写一个地址,我们可以写多个拦截地址,你把这个拦截地址给人家写上,注意啊,从工程后面这个地方赶紧给他拿过来,但是不要问他后面的内容,因为后面是参数,咱们只是要这个资源路径就行,就这一块。
06:17
给它放到这里,这样子呢,他既拦了这个页面的内容,又拦了这一段什么呀?呃,后台资源内容,那么我们重新部署一下。好。然后呢,我们来看一下哈,那如果是现在我们重新部署好了,你还是这么访问它还行吗?我敲回车是不是也不行,看见了吧?哎,只有这样子的你才能拦住全部的资源哈,来,我再试一次,后台进不去是吧,你手动敲,你再懂是不是还是进不去啊,哎,还是进不去,好这个呢,咱们了解一下,这就是使用future。
07:01
过滤器拦截后台的这个资源,实现权限管理啊。
我来说两句