00:02
创建拦截器类。我们到哪儿去见啊?呃,在intercept里边,我们。去建一个login intercept。建这么一个类啊。在这个类里边拦截器的类,它。要么你去实现那个接口handle啊。但是这个时候呢,你得这三个抽象方法都得去实现,但现在呢,我们觉得我们在目标handle方法的前面做检查就可以了,它后边呢,其实我们没什么要做的。所以说呢,其实我们觉得没必要把这三个方法都去实现了。
01:02
哎,所以说呢,我们在这儿,咱们去继承一下,继承一下这个类就好了啊,它有一个类。Ten。Handler intercept adapt。Ctrl shift o。这个时候呢,这个pre handle这个方法就是对这个类里边的这个方法的重写。这个类呢,它替我们实现了这个接口。啊,Handle intercept,它替我们实现了一个接口。然后呢,它这个里边给出了空的实现。没有任何实实质的这个代码,他这就直接返回出是吧,哎,我们想改变它的逻辑,我们就重写一下就好了。那么在这里边呢,我们看一下啊。嗯,怎么来进行这个登录的检查。首先第一步,哎,就是说我们这个。因为判断的依据就是session里边有没有admin对吧,所以说我们先。
02:05
嗯,通过request对象获取一下session对象。然后这个第二步呢,呃,尝试从塞身欲。中,我们要获取这个。呃呃,这个把这面对下。打包。嗯,一会儿还得去转一下这个类型。Get attribute。Constant。啊,对,就是啊,constant.name。之所以说尝试,是因为我们知道这个不一定,哎,它不一定有,所以说下一步呢,我们去判断我的命。
03:03
这个对象啊,他是否为空。哎的in,如果等于now。那就说明他没有登陆。啊,那么呃,因为我们这个拦截器,它拦截哪些资源啊,就是哪些资源要拦截不拦截,这是注册的时候决定的,我们在注册的时候呢,就把它设置成。呃,针对这些请求的,那么也就是说呢,他如果不需要做登录检查,不不登录也能访问的那些不从拦截拦截器这走。也就是凡是从拦截器这儿走的,都是要登录的,那么这时候检测到他没登录,我们就不允许他继续访问了。那么怎么能够?做到哈。在这儿呢,我们还是可以去抛出一个异常。这个异常,我们来创建一下这个异常的类。
04:00
这个叫access。就是你访问被拒绝啊,Access。Forbidden。Exception。还是继承我们这个runtime exception。CTRL1。然后呢,这个多余的东西去掉。哎,这个地方是。嗯。叫啥哈,这个。表示用户没有登录就访问。Show。保护资源时抛出的异常。然后呢,嗯。
05:02
这个异常哈,我们在这个笔记里边也记一下。Ctrl a。CTRLC。在这前面写下来啊,这个你可以先做这一步啊,创建一个自定义的异常。里边的代码就不拿过来了啊,因为这个这里边儿其实代码写的和我们以前写的是一样的啊。有了它以后呢,这咱们就抛这异常就完了,肉。尿一个。Access。For bid。Exception。Crowd。constant.message。哎,这个咱们之前写过啊,直接拿过来,你登录以后再访问。
06:00
抛异常就不往后走了啊,他就进我们那个异常处理的那个机制了,哎,然后再往下呢。呃,这边能够,如果不跑一场不被空,我们这边就放行就好了。哎,说这边如果我的M对象不为空。返回处啊,放行。就是放你过去。啊,你看。古时候有一个职业的人隐伏在呃,深山老林之间,然后呢,有人从这过,他就跳出来念一首歌谣啊。此山是我开,此树是我栽,要想从此过,脱下裤子来。
我来说两句