00:00
各位同学大家好,咱们继续往下来完成,刚才呢,我们已经完成了这张图里边的自定义认证过滤器,那下面咱们做这个解析过滤器和最后认证全局的配置。解析过滤器什么意思呢?给大家解释一下啊,因为咱们现在登录状态是不是放到token里边啊,而每次请求咱都通过请求头是不是要携带cookie,而这个时候咱们后台可以通过token过滤器来实现这个解析,就是从里边取一下这个值,看当前是否是一个登录状态,咱就来完成这个过程,判断里边是否有token,有的话那咱们就是登录,没有的话那我们就不是登录,所以大家要写上这么过滤器,每次请求都要完成这个事情,所以下面我们来写一下这个过滤器,给各位完成一下。来到spring里边,我在这个位置我们创建一个类。咱们写一下啊,这个类呢,我就从课件中直接复制了啊,咱就叫。
01:02
这个名字这个。Tokencation filter。然后写完之后让他来继承一个类叫once per request filter,就是每次请求里面这个操作,你看这个描述啊,Once是不是就是每次。就是每个或者每每一个啊,PR是不是就是每次,然后它里面就是request的请,就是每次请求分到一起,这个过滤器,这也是由里边给我们带的一个过滤器。咱们做个继承,继承它。引入依赖啊,就是每次请求这个过滤器,然后实现里边的方法。这个方法啊,就是一个叫do filter这个代码我就不敲了啊,给各位我就直接咱们就复制了,然后咱们看一下啊这个代码。我把这个给各位拿过来,咱们详细看一下这个代码到底是什么含义。我们来具体看一下啊。
02:02
这里我加上一个注释。认证。解析的过滤器,首先午餐构造,然后下面这个方法在方法中,我们这位置大家看啊,我这是一个什么,是登录那个路径,咱们登录肯定不需要过滤,我们直接放行,然后下面我们掉了一个方法做这个操作,这个方法在下边,咱们看一下,这个方法我们来看一下。做一个分析啊。方法中呢,从请求头里边得到ton字符串,如果说它里边不等于空,那把用名称取到,然后咱们再进行这个判断,用名称不等于空,最终咱们封装好这个对象,这是我们看到的,我把这个啊给它加这个依赖。否则的话,硫酸钠就是从。请求头里边得到token,然后从里边取到你的用户名称,这是我们看到的啊,然后这个之后呢,取到之后咱们把数据放到这个上下文对象中去,就这个security contact,最终用response这个位置,我们这里可以放行,否则的话给它返回这么一个提示信息。
03:15
这是我们写的这么一个过滤器啊,每次请求进行解析token的过滤器,这个咱们就完成了。然后完成之后呢,我们还有最后一部分咱们找到啊,我们最开始写那个配置类,这个找到,然后在里边呢,做一些全局性的配置,什么叫全局配置,我把这些给各位复制过来,咱们来看一下啊,这配置到底是什么,这个同样啊,不需要各位敲,因为它是一个固定流程,各位写的时候呢,给它复制直接改就可以了,那咱复制,然后咱们看一下里面内容啊。首先注入了两个对象,User detail service,还有这个MD5加密的这么一个,就是相关这个类,呃,咱们应该不叫这个名字,我们应该叫这个。
04:05
这个也中。然后引入之后啊,我们继续来看一下啊,然后在里边我们。创建了一个对象叫also manager,然后在里边呢,直接new,这个就是调用super里面方法,然后下面有它的结构啊,我把这个给过一些一种依赖,然后咱们具体来看一下啊,这里边到底配置了哪些内容。这都是一些全局上的配置。去依赖我先引入啊。包括这里面也都引入。现在应该可以了啊,然后咱们看一下啊,首先在这位置有些内容,比如说咱们开启跨越,然后再看重点啊,重点在这里,这里边是什么呢?就是咱们登录的路径,然后在这过程中,咱们约定我们在请求之前都要进行这个认证这过程,但认证中我们登录肯定不需要,认证得在里边加上,并且加上我们刚才那个认证的过滤器啊,包括你看里边都有,就是咱们刚才写到的,然后包括我们在配置哪些请求,我们不需要拦截,比如说swa等等,肯定不需要,如果你有其他的往里边再加就可以了,那这里边都加上了,这是我们写的这么一个类啊,这个我们就完成。
05:20
比如说现在啊,咱把这个用户认证的基本过程我们就都做到了,给各位按照流程把这个能实现出来,也就我这张图上画的这个几个部分,咱最终再重复一遍啊,自定义密码组件,自定义用户对象,然后根据这个用户名查的方法,包括认证过滤器,解析过滤器以及配置认证的全局信息。
我来说两句