00:00
各位同学大家好,刚才呢,我们对spring security做了一个总体上的概述,它包含两大核心部分,用户认证以及用户授权。那下面呢,我们基于在我们的项目中实现用户认证和用户授权,那首先我们先看一下啊,就这张图里面画到的,各位应该清楚啊,我们对于外部资源想进行访问控制,最好的办法莫过于filter,就是过滤器,过滤器呢对应的请求拦截,然后进行一些快操作,而现在我们想对方法进行调用保最好的办法过于A,也就是咱们通俗说的不改变原代,增加一个功能,而就是基于这些方式进行实现的。大家看这张图里啊,这张图里边画的是什么呢?就是s security中有很多的过滤器,我们叫过滤,然后过滤中我们看到啊,这个绿色部分也就这个部分。
01:00
他是负责认证的过滤器,就是咱说的登录的过滤器,另外我们再来看蓝色部分,Ion负责异常处理的过滤器,另外里边这个橙色部分就这个filter intercept,它是负责授权的过滤器,所以咱们大家要明确啊,Supreme security底层用到就是过滤器。咱们这里边重点关注过滤器,我们看一下啊,Cept滤别的权限过滤器,位于过滤器的最底端,用它进行这个授权操作,还有一个叫username password filter,它是对post请求行拦截,就是咱们通说的负责认证的过滤器。这是我们做一个说明,而security里边通过这一套过滤器实现我们相关的功能,那下面呢,我们基于security先做一个简单的入门案例,让大家感受一下这个过程,然后一会儿我们做用户认证和用户授权的时候,给大家再详细分析它的一个实验过程,那下面我们写一个入门案例,那入门案例怎么做,咱把步骤先做个分析,然后咱们按照步骤进行实现。
02:22
那我这里边写一下啊,入门案例的实现步骤,首先我们的第一步操作,那咱怎么做呢?我们看一下啊,第一步咱这么来做,我们在common里边的建个模块,专门做的封装,这是我们的第一步,我在这里边写一下啊,第一步操作。在common里边创建一个子模块,咱们就叫这是第一步,一会咱来实现,然后这步之后第二步操作,我们在这个模块中引入相关的依赖,包括相关的部分,然后之后咱们的第三步,在这个模块中创建一个配置类,表示开启认证授权,这个功能就是spring科技功能,然后这个之后我们的第四步,在咱们的具体模块中引入spring模块,然后咱们启动项目进行这个测试。
03:28
以上就是一个基本的步骤,那下面呢,按照步骤咱把入门案例实现一下,让大家感受一下这个过程,那咱们下面啊开始进行实现。首先我们的第一步操作这个我先关掉啊,咱们把这些都关掉,咱们重新进行操作,第一步我们来到common里边,在common中呢,创建一个子模块,我这个位置做个创建。这个模块的名字我们叫。然后选择相关版本啊,包括叫com点把这个进行创,这是我们的第一步操作,咱就完成了,然后在里边做相关的封装,这一步之后我们的第二步引入依赖,这个依赖呢,我就从课件中直接复制了,主要是里边的这些依赖。
04:21
咱把它直接拿过来。然后这个位置啊,我来复制一下。大家看啊,首先第一个common,就这一些相关的公共的一些东西,然后核心在这里,Spring security。当你把这个引用之后,里面就包含了一系列功能,比如说然后用到这个什么认证啊,授权等等这个功能,所以现在第二步完成,第二完成之后,第三步呢,我们在里边创建一个配置类,那我现在啊来做个创建,咱们来到这个模块中,首先个。我们见到这位置com.conig然后创建之后在里边我来创建一个类,这个配置类的作用是什么呢?开启的默认行为就是它的功能。
05:14
那我这里边创建。我们建一个类,然后让这个类呢,另外一个类在上面加个注解,Able web security这部分我就直接复制过来了啊,因为是一个固定的结构。这个过来大家看啊,Configuration配置类。然后unable security是我们开启这个相关的功能啊,把这个给它加载过来,然后位置我先刷新一下啊。依赖刷新。然后把。这个引入。Configuration web。Security开启它的默认行为的功能,让它继承这么一个类,所以现在啊,第三步就完成,然后这个完成之后呢,就是现在我们把这个加上之后,它里边已经具备了spring security的最基础功能,那下面我们怎么做呢?在我们的具体模块中进行使用,咱们的模块是service OA,所以我现在啊来到service OA里边,在service OA中把这个给它引入进来,就具备了它的技术功能。
06:25
那咱们来这里边。把这个模块引入啊,我写到这。加上一个dependence,然后加上这个。Com点。At e硅谷。版版本是零。把这个加上。然后加上之后把这个刷新一下,咱们把这个依赖给它引进去。啊,稍等啊,看我是哪里写错了啊,我们看一下就是它这个名字啊。
07:11
咱们来看啊,这个名字没问题,然后看我这里边,呃,com.at啊,这应该少了一个字母啊,At硅谷啊,这应该就对了,现在把这个就引入了,然后引入之后呢,现在我们里边就具备了spring security的最基础功能,这个基本的入门案例咱就完成了,我们再说一遍啊,然后咱们进行一个简单测试,咱们的过程就是第一步建立一个新的模块,在模块中引入了spring security相关的依赖,引入之后我们建立一个配置类,开启它的默认行为,就是基础功能,然后之后在核心的模块中引入了spring security模块,这样的话就完成了,完成之后呢,现在我们把这个服务进行启动,然后咱们做个测试。测试过程中,咱就随便访问一个接口的地址进行测试啊,那我随便访问一下啊,我就按照课件中这个地址访问了,你访问别的地址也都可以。
08:08
咱就访问这么一个地址啊,这是查询所有那个角色那个地址,也就是我们的这个接口。我们看一下啊,咱就以它为例啊。也就是里边的这个,现在我这个已经启动了啊,大家看已经启动完成了。这里边有个细节,所以咱一块儿看啊,我现在进行访问啊,咱们访问给他试一下啊,问一下。到这个位置。回车。大家看啊,你看怎么样,它是不是跳转到了一个登录页面中来啊,各位看到啊,到了一个登录页面,然后这个登录页面什么意思呢?它就是默认登录页面,比方说你当前没有这个权限,需要登录之后有这个权限,然后这过程中大家注意啊,就是现在呢,在我的控制台里边多了一个东西。
09:02
大家看这个。应该能看到啊,这是什么呢?是现在这个密码,咱们用这个密码可以进行这么一个啊,所以目前它就是到这里,然后现在比如说我登录一下啊,Spring认用户名是user,它的码呢,每次之后它都会随机生成一个密码啊,这里边是随机生成的,咱用它可以做个登录,那现在啊,我们来试一下啊,我把这密码直接复制过来。然后在里边用user加上密码,咱们点登录。大家看现在应该到了我们这里边啊,只是说现在这个数据我们看一下啊,应该是咱们。啊,当时啊,你看啊,这个里边,我当时我们是测试写了一个自营异常处理啊,这效果其实就是这样的啊,你可以把这去掉,看它那个数据这证明啊,现在这个已经加到了我们这里边去,它具备了这个基础的功能,这是我们看到的啊,比如说咱可以再试一下啊,刚才我一启动里边就生成一个密码,这个密码咱简单记一下1498,比如现在啊,我重新启动一下,我们再试一下啊,再试一次。
10:19
重新启动下。等它启动。大家看啊,你看这密码跟刚才是不一样的,它又随机生成一个密码,咱用它完成这个认证的过程。这是我们写的一个最基础的入门案例,当然大家发现啊,这么做肯定是很不好一种结果,因为你发现每次第一个他跳转到一个默认的页面,然后他想实现是不是到我们自己的页面,另外每次我登录是不是用他随机生成的密码,咱们不可能每次到这里边找他的密码,所以咱们需要结合我们的项目实际,进一步完善,今合我们的实际完成用户认证,也就是登录完成授权,他能对某个菜单,某个按钮进行操作。以上只是一个简单的入门案例,让大家感受一下这个一个基本过程。
11:18
这个我们先说到这里啊,然后下面呢,我们结合实际完成它的具体使用认证和授权。
我来说两句