00:01
各位大家好,欢迎继续收看上硅谷视频课程,咱们继续来完成案例。刚才呢,我们完成了在我们spring security里边的认证和授权过滤器的编写,比如说到这里为止,咱们把下面这部分都完成了,包括工具类、处理类,两个过滤器切换持理类,然后最后咱缺少两部分,一个是中的核心配置类,还有一个是查数据库那个user service user detail service,那我们下面现在编写这个核心的配置类,那这配置类怎么写,咱之前应该都写过,咱就写个类,让它记成一个类叫web security conig这个adapt,然后里边设置它,配置它一些相关的内容,那咱下面把这就开始编写一下,我在里边写一下,首先我先创建一个类。比如这个类啊,我就叫token这个web。
01:05
啊,U。Security,然后加上一个叫这个config,这是我们创一个类,让它记上一个类,这个类叫做web。Security config和de这个类,我就从课件中咱就直接复制一下啊,就是咱让他继承我们的。这个嘞。把这个咱给它先写一个结构,然后继承之后,在里边我们要写它的基本内容,因为这是一个核心的配置类,所以在配置类上面呢,咱要加个注解,就是这个configuration,在这个类的操作中,咱也需要一些相关的对象,就咱刚才用这些对象里面应该都需要,所以我这里边把咱们需要几个对象,咱就直接给它,也是按照之前的方式给它设置进去。首先这两个肯定需要,这是ton工具类,这是red模板,另外里边还有一个就是咱们密码操作那个工具类,我们应该叫default。
02:12
Password以后啊,咱应该叫这个名字,然后除了这个之外,里边应该还有一个就是我们那个user detail service。Service user details service,呃,写错了啊,Tal service这个咱一会儿来进行编写,所以它里边需要这么几个对象,然后咱们通过这里边这个有参的构造,把几个值给它都设进去啊,这个我就直接复立项啊。就是咱们的这个代码。所以这是里边需要的这么几个对象。这就完成了啊,啊,包括我看这里边啊,有这么几个基本的参数啊,这参数我们需要给他做一个。
03:00
猪肉奥。这个写完之后呢,下面呢,我们就重写里边的方法,这些方法之前咱都写过,就里边有一个叫抗IG这个方法,包括我们现在比如我们先写里边的第一个就找到它那个叫HTTP那个方法,咱之前写过就是这个方法,在这里边呢,咱能设置它的一些相关的路径,包括一些相关内容,但因为我现在呢里边呢,我是写了很多自定义的过滤器,包括自定义的处理器,所以在里边我们来做一个设置,就设置我们自己写的这些内容,那这个啊,我从课件中给各位直接拿过来了,就我们写这个核心per中这个con figure方法里边做这个设置。这个给各位分过来。就是咱们的这个方法啊。然后咱们详细看一下啊,首先把这依赖我先记住啊。
04:04
然后这个方法里边啊,当然这个名字这些不合适咱再改啊,在这里边我们看到啊,这些方法它是叫做config htp,在里边咱做什么呢?之前咱们用它曾经设置过一些内容,比如说我们看现在我们设置什么东西,咱看第一个啊这个东西这是什么呢?当你就是没有权限访问的时候,让他去调用我们刚才写的自己的这个处以类,就是这个处理类。这个名字啊,改成我们这个名字,我们叫an author entry point,这是里边的第一个,我这里给各位就是加一个注释啊。就是没有权限访问。它的这么一个执行,这是我们自己写的这么一个处理类,然后下面这咱知道csf这个就是关闭嘛,然后另外就是里面这个请求包括权限,你看啊这位是什么意思呢?设置你里边那个就是退出的这么一个路径,呃,多了啊,退出的一个路径。
05:08
在里边设置,然后你看下面这个位置,就是当我退出嘛,里边让它执行我们里边这个token logout这个handle了处理器,然后执行我们的逻辑,在里边我们自己做个设置,然后下面这两部分你看啊,我都是叫A的filter,就是添加咱们自定义的过滤器,就是你不添加它里边有,但是咱们是自己写的一个自己的逻辑,第一个是我认证过滤器,第二个是咱那个授权过滤器,那这授权我改成我那个过滤器名字,我这叫token奥。Filter应该是这个啊,Token out filter,所以你看啊,现在这里面设置跟咱之前说的不一样,因为之前这些东西咱没有自己自定义,用它默认的,现在我都是自己写,包括你这个未授权的,包括里边退出的,包括你认证,包括授权管理器,咱都自义,所以在里边来设置这些这样的内容,这个各位啊,给他知道,咱刚才把这些在里边应该都设置进去了。
06:09
然后设置这个之后,下面我们继续设置,就设置一下我们现在要调用我们的哪一个user detail,然后包括这里边我们要用到哪个密码处理的这么一个方法,所以咱们做设置啊。我写一下就是下面要配置,你这里边要调用那个user detail。Service。还有你的密码处理,那过程里边咱还是用这个computer这个方法,然后里边有一个叫author manager build这个方法,也就是。这个方法啊,给各位分过来。然后咱们看里边把这个首先引入,然后它调用我们写这个user detail给咱一块完成,包括这位置中我们用这个default password e coded是咱刚才自己写这个密码方法,里边我们做了MD5加密啊,这是里边的这么一个方法,所以咱把它写出来了,然后写完之后,这里边其实还有一个方法,咱在里边可以设置,就是哪些路径咱们不进行这个就是认证实验过程,就是你可以直接访问,这里边可以做到,但是这过程呢,也可以写到我们HTP中。
07:21
那我就单独写个方法,咱专门写这个啊,这里边我们用到一个对象,应该叫这个web security,这个我把它拿过来。然后在里边写下啊,我们加上一个。Over right。然后在里边我们通过这个web做个设置,里边有个方法叫E。是不是就是忽略,然后加上一个叫aunt matches里边加上你不进行这个过滤的一些相关的路径啊,比如说假如说咱们是一个,比如现在我写一个API杠信号,表示你是API开头路径啊,都不进行认证授权,你可以直接访问,当然可能还有其他路径,然后后面用到在里边再进行添加。
08:07
这里边加上注释。就是不进行认证的这些路径,咱可以直接进行访问,所以这就是关于我们写这个核心的配置类的这过程,在里边主要把咱们刚才定义的处理类过滤器给它用上,包括设置你用的哪个user侧detail密码这个过程,以及哪些路径不进行认证授权,这个咱就写完了啊,也就是说到这里为止呢,咱就把这张图上的这么几个类应该都完成了,这也是我们spring security里边比较核心部分,咱们这个例子中呢,就是写的比较底层,很多东西我们都做了定定义的操作,让各位更好感受到里边一个运行过程。而我们写到这里为止,咱最后还缺少一个类,也就是里边的这个东西。
09:01
User detail,因为咱们在认证过程中,咱是不是要查数据库,得到你的用户信息,包括你的缺陷列表,在咱最后缺少还有这个优侧detail,当然目前这个核心的过程应该已经做到了,咱们也是按照我刚才给大家分析这个流程,把咱们这个例子完成的这么一个基本过程。
我来说两句