00:00
首先啊,我们下午的第一个内容给大家就来说一下这个权限管理中这个需求,也就是说我们做权限管理要做成什么样子,它是一个什么样的一个效果,给各位来详细分析一下。那我在里边写一下啊,就是。权限管理的一个需求,这里我来详细说明,因为咱们在这个项目的后台系统中,咱之前应该做了很多模块,比如说我们的讲师管理,课程分类管理,包括课程管理,还有咱们在昨天做那个统计分析,这些模块我们都做到了。而除了这些之外,在咱们项目的后台系统中还有一个模块,就是这个模块叫权限管理。那什么叫权限管理呢?说的通俗点啊。比如说我现在啊,在我这个项目中有很多的功能,有讲师,有课程分类,有课程,那我可以设置我当前用户权限,比如我这个用户是张三,那我设置张三只能做讲师管理模块,其他模块他都访不到,比如设置李四只能做这个课程模块,其他模块做不到。假如设置这个admin,这个管理员,他能所有模块都操作,这叫区限管理,就是设置你不同的用户具有不同的权限,每个用户可以实现不同操作,这个叫权限管理。在我们实际项目中,一般在后台管理中逗留功能,就是做权限控制,比如说你进入一个公司里边,你操作某个这个系统,那你肯定不是所有功能都能操作,咱可能只能操作某一些功能,所以需要我们在里边给他设一个权限。
01:42
这是一个啊,关于权限它的一个总体描述,然后这个具体怎么做,给大家来做个分析啊,咱看一下我的课件中。就是在这个day时期的第三课件叫权限管理功能,包括它的接口啊,第一个大家看需求,那怎么做,给各位来说一下啊。
02:02
首先我们看啊,就是第一部分呢,咱们也是啊,要在我们的这个后台系统中加上一个路由啊,就是第一部分咱要有个路由,然后路由里边咱要加出来,这个效果咱会加上啊,现在我们先做个分析,它里边主要有三个部分,权限管理中有用户管理。角色管理,还有一个叫菜单管理啊,它有这么三部分,给大家画一下哈,第一个用户。第二个角色还有一个叫菜单啊,有这么三部分,那这三部分分别都是什么意思,给大家来分别解释一下,然后咱们啊,就是具体看一下他这个需求咱们要做成什么效果,虽然说这个代码不一定填写好了,各位把它整合可以了,但是要求各位这需求你必须要特别清楚。因为这个啊,在实际中这需求基本上都是这么一种固定模式,要各位头脑中要有一个很清晰的思路,知道我们权限管理中有哪些功能,每个功能它具体要做什么事情,那这里边啊给大家详细写一下啊。
03:10
首先呢,我先说这个模块是这个我这标号啊,第一个咱说菜单,第二个我们说角色,第三个咱再说这个用户啊,说这三个,那我来说第一个就咱这个菜单管理模块。菜单管理说一下这个模块到底是干什么的,给大家做个分析啊,那什么叫菜单呢?说的简单点啊,比如说大家看啊,当我们进入一个系统中,在系统的左边部分,这个东西是不是叫路由啊,就是咱们之前的项目中,比如说有讲师管理,有课程分类管理,有这个统计分析,有圈管理,这些是不是叫路由啊,所以这个对应的我们就叫什么,就叫菜单啊,这就是我们的菜单,而咱们的这个菜单模块中,咱要做出什么功能呢?给大家来说一下哈。
04:02
我想这位置首先我们要做的第一个功能肯定就是我们这个。菜单的列表功能啊,菜单列表,那这个功能在什么地方呢?给大家强调啊,比如说咱们把这个前端这个打开,各位注意啊,咱们之前写的菜单,我们应该都是在src里边有一个叫router rootr中有个inex词,咱当时菜单我在里边是不是写的固定的值啊,是不是都写的固定的,就比如说这名字都是咱们直接固定写的,但是现在这个菜单咱肯定不是写固定,我们要怎么做,通过从数据库把它查出来,然后做一个动态显示。也就这些值啊,是查数据库得到的啊,所以菜单管理中咱要做一个这个菜单的查询功能,就做一个列表显示,包括有它的添加修改这个功能啊,这些都比较简单啊,就是最基本的列表功能,然后还有里边的第二个啊。
05:00
我写一下。就是这个菜单的这个。添加。包括它的修改这个功能,然后除了这个之外,还有第三个功能,这个功能很重要,我写一下啊,第三个第三个什么呢?就是菜单的一个删除功能。这个啊,我特别说一下啊,列表就是把它数据查出来,然后咱说里删除,那删除什么样呢?大家注意啊,比如咱就以这个权限为例,假如说大家考虑啊,跟着我的思路,比如我现在我想把这个权限管理这个菜单给它删掉。当然各位注意,在我权限管理下边是不是还有用户管理,角色管理,是不是还有这个菜单管理,但是它下边可能还有菜单,那这个时候咱要删的话,我是要把它里边的所有菜单是不是都要删掉,我把权限管理删掉了,那里边的用户角色菜单,包括它里面这些东西是不是咱们都需要删掉,所以咱们要做一个菜单的删除,而删除怎么做到呢?咱可以用一个叫递归删除,就是把我现在的区限管理删掉,里边有子菜单再删掉,在它下边如果还有子菜单再进一步删掉,所以咱们肯定要做这个功能。
06:17
这过程叫菜单管理,就是维护里边的这些东西。这各位也得知道啊,另外里边还有一点,比如说啊,我们在这个里边的用户管理这个模块中,是不是他可能有用户的添加修改删除,就这些功能按钮也属于它的一部分啊,所以这个啊,就是第一部分菜单管理。另外啊,这个功能中呢,一会儿会带着各位写这么两部分,一个就是菜单列表,一个就是递归商菜单,这两部分咱都要写的递归操作,因为它的列表方式呢,咱要给它封装成咱们的。这种结构,这结构呢,咱之前做那个一级二级分类,包括章节小节做过,这当时咱用的是普通方式,咱现在把这个一会儿用递归方式做封装啊,这个是咱们一会儿。
07:07
要写两接口,各位先给他知道啊,一个菜单列表,一个自单删除啊,这个咱一会儿做到啊,这是第一个模块菜单管理,就是维护你这个菜单部分。然后在这里边呢,我们还要做到有第二部分叫角色管理。然后写一下啊第二个。叫角色管理,然后什么叫角色?给大家举个例子啊,比如说我现在在我这个系统中有这么一个角色叫系统管理员,那系统管理员是不是应该有所有操作菜单,就所有菜单操作权限,比如说有一个角色叫讲师管理员,那他只能操作讲师,比如他叫全管理员,那可能只能操作权限,比如说他叫课程管理员,那可能只能操作课程,所以这个叫角色,这是我们要涉及到第二部分,而在角色中咱做的肯定是他最基本这个增删改操作。
08:01
啊,就是添加修改删除,包括查询这操作,这个咱要做到的,然后除了这个之外,咱们有一个功能要做到,是咱一会儿要写到的,就是咱们的。第二部分我们要做什么呢?给大家写一下啊,就是现在我要为这个角色分配一个叫菜单。这是咱们一会儿要做的功能,那这功能什么意思?假如我现在一个角色叫系统管理员,那我可以为系统管理员分配他能访问的菜单,假如说他访所有菜单,那咱把所有菜单都给他做分配啊,这个是咱们一会做做功能,然后这个表结构一会咱会具体说啊,你先知道它里面做的功能,角色中有添加、修改、删除,包括查询,然后咱还有一个是为角色分配菜单啊,这是第二部分。然后除了这个模块之外,咱还有一个模块叫做用户管理,就是第三个。用户管理,在用户管理中呢,咱们主要做的也是这么几个功能,给大家写一下啊,首先第一部分还是它这个添加修改删除,包括。
09:10
查询的这几个功能啊,这是最基本几个功能,然后除了他之外,在用户里边还有一个功能,跟咱刚才说的一样,因为大家注意啊。我这里边的地方有三个,一个叫菜单,一个叫角色,角色里面有菜单,然后这个用户让他要属于某角色,所以咱的这个功能就是为我这个用户。分配一个角色这个啊,是这么一个功能跟它类似,一会咱就主要写这三个部分,也就是说呢,说的简单点啊,比如现在给大家画的更具体点啊。假如我现在菜单里边呢,有这么两菜单,一个比如叫这个啊,咱随便来一个,比如一个叫讲师管理。啊,讲师管理,然后还有一个菜单,比如叫课程管理,这是我们的两个菜单啊,假如现在有这两个,那比如我现在有一个角色,这角色比如是一个叫管理员的角色,这是第二个,那咱要怎么做呢?在这里边我可以为这管理员分配这两个菜单,就管理员可以操作讲师管理和课程管理。
10:20
然后除了他之外,这里边有用户,假如现在我们一个用户,比如用户叫Lucy,那他可以怎么做为这个Lucy分配管理员这个角色。这一个操作也就是说啊,咱最终登录系统肯定不是用这个角色登录,咱是不是用用户登录,当我用Lucy用户登录,那会什么效果?因为Lucy是管理员,管理员是不是能操作讲师和课程,所以我最终Lucy就能去操作讲师和课程这两个模块,这个啊是咱们一个基本过程,所以咱们权限中主要有三部分,菜单管理,角色管理,还有这个用户管理,里边分别都是增删改操作,然后还有两个特别的,一个就是为角色分配菜单,还有一个是为用户分配角色。
11:10
啊,这是咱们对他一个需求,一个基本说明,要各位把这过程给到知道啊,因为我们在实际项目中做权限管理,无外乎就这过程不会有什么特别的,它的过程大体上应该都是一致的。所以把它给大家做了一个基本说明啊,你先有个印象,比如咱会说它的表是什么样的。然后这个说完之后,下面看一下我的课件中,我课件中呢,有给大家截了几张图,就是做到我们这个图上的效果啊,那我们看一下啊,什么效果。大家看第一个啊,就是菜单管理中的菜单列表,也就是啊,把列表在里边显示做成跟咱那个数形结构差不多,比如说订单管理中有其他管理,包括你用户管理中其他内容,最个数形结构显示,跟咱之前做那个一级二级分类的数形结构基本上类似啊,这是第一个,然后在里边,比如我们点这个添加,可以做一个菜单添加,包括做修改,包括有这个删除,就是删除,你要做个递归删除,因为菜单下边还有子菜单,大家都给它删掉。
12:16
啊,这是第一部分啊,菜单管理,然后第二部分叫角色管理,里边就是有它的增删改查这个操作,然后除了他之外,除了就是添加修改查询之外里边。还有一个功能,这个功能。就是它这个叫做角色分配菜单。那什么意思呢?比如说现在啊,我这里边这是一个叫普通管理员角色,当咱点这个分配按钮进到这个页面,这页面中可以选择这角色有哪些菜单,但你选择点确定,那这角色就分配菜单,比如我现在为他分配了权限管理中的用户管理,然后添加就做一个分配啊,这是角色部分。增删改查操作,还有为角色分析菜单,当然它的删除也可以做,一个批量产出就删除多个。
13:04
啊,第二个模块,第三个叫用户里边,也是最基本的增删改操作,然后还有最后一个为用户为决策,假如我现在点击这个分配按钮啊,就这个按钮,然后进入到你看这个界面中,就这个界面。他是什么样子呢?就显示你当前系统中有哪些角色,然后咱可以为这用户分为角色,比如按照我刚才说到的,我为Lucy用户分析管理员,那Lucy就能去访问讲师管理和客管理,因为管理员已经分配了两个菜单啊,所以这个啊是咱们权限管理中主要做到的这么一个效果,主要就是三部分,菜单、角色和用户,然后你可以为菜单,就是为这个角色分析菜单,然后为用户分配角色,最终用用户访问能有这个角色中这些相关功能或者相关的权限。
14:00
啊,这个啊,咱们做了一个基本说明啊,各位之前应该是学过这个东西,如果你不记得啊,我这里就给大家说了一遍啊,把这过程给它知道,虽然说在实际的项目中,咱们不可能去从零去写的东西,因为很多公司这种东西都是写好的,或者说直接整合过去的,但是这个需求各位必须要理解,因为在很多的面试中,别人可能会问到类似问题,比如这权限管理该怎么设计,权限管理你是否做过,该怎么去做,那是你给别人讲的,就是讲这个过程或者讲这个需求。这个啊,咱们做一个说明。
我来说两句