00:00
各位大家好,欢迎继续收看上硅谷视频课程,我们继续来学习security。在之前的内容中呢,我们完成了我们微服案例中security核心部分的编写,包括核心配置类、相关事情类、认证授权过滤器、相关工具类以及user detail service的编写。那咱们下面呢,把案例中的其他部分给它整合进去,最终把这个案例给它完成出来。咱们来看一下具体代码,上节课咱们这里边把这个three a settle中的其他模块代已经给各位提供出来了,咱们重点写的是script secret部分,也就是完成里边这个user detail的编写,那下面给各位介绍一下这段代码中的其他部分,它分别都是什么含义,我一个一个给各位详细做个声明,咱们把这代码就详细来看一下,那我们来详细说明一下啊。
01:01
首先第一个,因为我们这是一个微服的一个项目,所以在里边呢有一个配置文件,所以首先第一部分我们先说一下这个配置文件中有哪些内容组成。那这里边我来写一下。咱就把这个案例中的代码部分做一个详细的介绍。首先里边的第一部分就是它这个配置文件,那配置文件中的配置的肯定是一些最基本的部分,那咱看一下里边有哪些部分,咱们一个来看,咱看啊第一部分。这什么就你的端口号嘛,因为咱用的是使用boot工程里边内置tomcad,我们就用8006端口进行启动,第二个是我们这个服务名字包单后面把这服务要在我们的注册中心中,也就是naco里边用注册,而na中的注册名字应该就叫这个名字,然后第三问大家看到这应该很容易,是不是就是数据库部分,包括它的驱动地址,用户名,密码,因为咱们用的是这个数据库。
02:06
然后除了它之外,我们看这部分啊,这个是什么呢?大家看这是什么,是不是RA部分啊,因为咱们要连接RA,包括咱们的数据要存到write中,然后用cookie跟它数据做个比对,所以里边有write部分,除了它之外,下边就有my be的差page,包括大家看这部分啊。这是什么?是你na cos那个地址,因为咱们这个服务在注册中心中要进行注册,所以你要配置nacos服务地址,而NAS它是在我们的本地或者你的IP后面加上8848这个端口号,也就是这里边,所以咱们现在配置文件中主要就是有里边的这一部分,各位知道每部分是什么含义,然后你结合自己的项目中的具体地址改成你内容,比如说你端口号改成别的,比如说你的数据库是别的地址,你的reddi IP等等,给它改一下就可以了。
03:02
是这个第一部分我们就做介绍,关于它的配置文件部分,各位按照我的结构把它改成你具体项目中那个结构就可以了。然后这个说完之后,咱们继续来往下看,因为咱们这是一个比较完整的案例,所以里边呢,要涉及到有很多的模块,咱就通过CTRL来看一下,然后它里面有哪些模块,咱们看一下这张图。不知各位是否记得啊,当时咱们说过,我们这个模块中,这个数据模型里边有五张表,就是菜单、决策、用户,他们这些事多得多,分别有第三张表,而模块中其实涉及的就是菜单、角色、用户三个模块,那咱们来详细看一下,首先我们看第一个就这个。角色,角色里边呢,其实主要就是它的增删改查,比如说咱们查数据库,我查这个角色表,这个表里边把数据查出来做分页,包括项里边加个数据,改个数据,删个数据,就是最基本的增删改操作。我这里边写了两个基础方法,一个查询,一个添加、修改、删除,跟它类似,各位应该按照结构把它完成,这些都是boot里边的基本代码,因为咱们之前提到过,我们做学这个spring security,包括作战案例,希望各位有一些前置知识,一个很重要的就是BOO知识,所以这是第一个模块,角色模块咱们做了一个说明,然后再看第二个模块。
04:33
这个模块。大家看啊,就是我们的菜单模块里边也是有这个查询,包括添加即可删除,但是里边还有一个比较主要的模块,就是我们的这个模块给角色分配权限,或者说给角色分菜单,比如说我们在这个部分,比如我现在我这个管理员的角色有讲师管理和课程管理两个权限,为他是不是要分配,所以咱怎么做,是不是在第三张表上加数据,咱看这例子啊,比如我的管理员是幺幺,那我幺幺他们有不同菜单,也就是最终在我的这张表中加数据。
05:12
比如各位看我里面有一个示例的数据,角色ID是一,然后一是不是有不同的菜单的操作权限,所以里边做的就是这个事情,为角色分配这么一个菜单,里边主要用到这个方法,包括各位看这参数中,这是角色ID,这是菜单ID,因为菜单可能有一个,可有多个,最后这里边写一个数组,然后在里边最终做了一个添加。所以这个啊是那个角色模块,然后除了角色之外,还有一个用户模块,也是它的基本的自然改查,另外还有一部分就是为用户分为角色,也就是咱们的这个部分。大家看,假如我现在我这个Lucy属于管理员,我Mary也属于管理员,所以里边是不是加数据啊,大家看啊,Lucy ID是二幺,管理员是不是幺幺,Mary是二包,他是。
06:08
这个幺幺,然后里边你把这ID加进去,也就是最终我们要向这张表加数据,比如你看ID是一,它的用户是二,然后这里边用户有它对应的这个角色,所以这里边呢,主要就是三个模块,用户菜单,还有角色做他的自然改查,然后还有分配这个功能,所以这是一个这个介绍。然后除了这个之外,里面还有这个部分,就这个index,这个controller。然后这里边是什么呢?给各位说一下啊,首先第一个就这个方法大家看,比如说我现在啊,我这里边用的是spring security,因为咱们在这个user detail里边,之前咱也说到过,咱要返回的是不是一个对象,这对象是spring security的对象,就是把它交给spring security,而我们在反映之后,比如现在我想取到我当前登录的用户信息,咱们原始方式是不是用session,而现在这过程我们是交给了spring security,所以这个方法中我们做的什么事情?
07:14
就是从spring security里边得到当前登录用户名,用这个方法,Security contest hold get contest,然后把里面名字得到,包括再查数据库得到它的基本信息,所以这个啊是一个操作,这各位记住。从里边得到当前登录的用户。另外还有个获取菜单,比如我现在用这个我的命令用户登录了,那它登录之后在里边是不是要显示出它当前可以访问那个菜单呀,所以里边这个方法就是这事情得到当前用户可以访问的菜单,所以这是我们代码中一些基本模块介绍,主要就是用户角色菜单,还有我们登录之后显示菜单,包括得到当前用户信息这部分,各位把这代码能看图可以了,重点咱们关注点在script secret一部分。
08:10
这是我们说到的。当然这个代码中呢,如果各位想了解的更加深入,可以关注上硅谷鼓励学外,里边有门课程叫在线教育项目,有详细这个模块中具体代码的讲解,比如里边的递归,包括语句怎么去写,我们这里边注入点在我们的这部分。所以这是关于这个模块的一个基本介绍,给各位就做一个说明,要各位只要能看懂里面的部分,把spring secret一部分能写出来,然后配置文件,结合你项目的实际,改成你的地址,你的这个端口号,用户名或者密码。这个咱就完成了啊,然后这个完成之后呢,咱下面缺少的还有两部分,一部分是把这个网关配出来,另外就是整合这个前端,最终演示出我们的效果来,所以咱们下面就来配置这个网关合就行代码,但是咱目前把spring部分的核心部分已经完成了啊,所以这个代码要各位能看懂,改出来就可以了。
我来说两句