00:00
哎,下边我们接着说,就是咱们一点一点来看啊,首先呢,是先加入spring security,在hello word基础上加入security。呃,这个,呃,加入security的这个,先加入它的这个依赖。CTRLC哈,咱们先把它给拿进来。这些都关掉。呃,那么我们拿进来的是有哪些呢?这是spring啊,他要下载一下啊。你到这个要下载加班的时候呢,就会有加班下载失败的问题啊,所以说你要有心理准备啊。这spring的外部环境啊,外部环境,在外部环境下边进行权限控制的,这是spring security相关的配置啊,在这个夹包里边啊,这是它的一些个页面上的一些个标签库。
01:04
啊,然后呢,看看有没有这个依赖关系,有没有别的依赖关系啊,这边你看有个spring spring security扣。啊啊,就是说你看一下啊,这里边儿其实它。讲的还挺多啊。我们把钱收起来哈,Web。它依赖一个alliance,依赖一个spring security。啊,那很明显,Spring security是security的核心包。这下边a up啊,这是spring spring加的这个。嗯,然后呢,Spring。啊,这倒没有什么特殊的。嗯,然后这是有个spring security a CL啊访问控制列表。哎,这是这个核心呀,等等其他的这些啊。它有JDBC,还有TX呢,你看啊,还有这个事物的这部分呢。这是我们spring security的一些个依赖,所以说我们spring security的扣哈这个核心包,虽然我们没有明确的去导这个,但是依赖的传递性里边有它啊,这是spring的核心。
02:11
好了,这是我们先给它加入这个依赖。加入依赖以后呢,我们下一步呢,是需要加入security控制权限的filter。Security,我们看到是用过滤器filter,而不是拦截器intercept。哎,就意味着呀,Security管理的不仅仅是S的handler请求,还包含外部应用中所有的请求。哎,我们说这个filter和intercept很像。那他们有啥区别呢?这是一个web应用哈。它里边其实Mac管的只是其中的一小部分。或者也不能叫一小部分吧,就只是一部分,有有有一些东西是不归SMC管的啊,有的时候有些东西不归SMC管,其他那些不归MC管的东西,你用一拦截器就管不了了,拦截器只能在使用MC的范围内生效,这个过滤器是整个外部环境下边就都可以生效啊,他们这个能管的范围不一样。
03:14
啊,我们过滤器管得更宽。啊。哎,然后呢,这个过滤器呢,叫delegating filter proxy,叫这么个名字啊,它的future name叫spring security filter ten。Security的过滤器的一个列啊,过滤器的一个列,哎,然后它也是我们匹配的是一个斜杠星所有的请求啊。这边有一个特别注意啊,特别注意注意啥呢?这个filter filter的名必须是这个。啊,要不是这个的话呢,后边就没有办法再加载其他的进行具体控制的这些个filter了,啊,必须得叫这个名才能够加载到这些个filter。哎,呃,所以说这个整个就拿过来啊,你就这个东西不要做任何的修改。
04:06
找到我们外边的睫毛。去加入我们的。Filter。CT shift f2加,嗯。哎,然后呢,嗯。下边是我们去创建一个配置类,这个配置类呢,除了加configuration这个注解啊,我们刚才刚才我们用的那个配置类只有这个注解,现在呢,对这个类还有一个要求,要求他继承web security configu adapter。诶,就必须得去继承它这里边儿有spring security的默认设置,默认的配置,我们后边呢,要对它进行相关的调整啊,要改成我们定制的配置。还有要加一个注解叫enable web security啊,加加这样一个注解,Enable web security。
05:04
呃,我们将来呢,学这个spring cloud呢,还会接触到很多的enable什么什么主解啊enable什么什么主解。这个相当于是我们接触到的第一个啊,启用spring security的web环境下进行权限控制的一个功能。好嘞。嗯,建这么一个配置类哈。飞哥。然后呢,这个类的名字呢,我们叫做web application security config。加configuration这个注解。表示这是一个配置类。有一点小卡。哎,然后呢,下边是一个enable web security。
06:03
这个功能。加下初试啊。这是将当前类。标记为配置类。然后这个呢,是启用web环境下权限控制的这个功能。呃,然后呢,继承一下web。叫什么web?Configu adapter。F。嗯,就是这个用security这哈,就必须得去继承一下它。哎,这个环境我们准备好了,同时注意哈,这个类必须得在自动扫描的包的下边哈。啊,因为我们其实这个地方呢,只是局部的用了一个注解的配置类,并没有全部切换到注解开发的模式。这个类呢,这些配置要生效还是要借助于啊这个扫描包,把它扫描到LC容器里边,这个配置才能够生效。
07:06
呃,我们说这个注意哈。注意,这个类一定要放在自动扫描的包下。不然啊,否则呃,所有配置都不会生效。啊,注意这个事儿。那么这个环境我们有了以后呢?呃,刚才能够访问的,其实如果我们刚才配置没有错误的话啊,现在就不能访问了。啊,就全部进行了这个控制。就现在这个页面,我们直接刷新一下。它跳转到了这个登录的页面,这是spring security给我们提供的一个登录的表单页,叫log with username and password说你拿账号密码来登录。
08:02
现在没有可以用的账号密码,你填任何账号密码都是错的,填什么都是错的啊,现在你没有指定什么是对的啊,错了以后就会有这样的一个错误的一个提示。包括你访问这个index也是。你现在这个。外部范围内所有的资源都会是让你来登录,所有的所有的都被控制住了,你就算是访问这个静态资源也不行,那UI下边比如说我们访问访问他哈。哎,也不行啊,所以这个所有的都都被控制住了。这是我们加入security环境,然后呢,使用它的默认配置,没有加任何别的配置的一个状态。这个我们写个标号啊,这是第二,这是加入spring security这个环境,哎,然后呢,是使用默认配置。
09:07
这是没有加入的环境啊。就分不同的状态呢,给大家把这个代码给保存起来。
我来说两句