00:02
嗯,前面我们做完了。管理员角色和这个菜单他们的增长改查。然后呢,我们下边把这个目光呢,我们还回到我们一开始说的这个权限。控制。呃,为什么我们还要看这个呢?因为我们做的前面这些准备工作,其实都是为了最后能够进行权限的控制。哎,咱们看一下啊用户。以某一个身份登录进来,他发请求。我们找个找个小人。就他就代表用户啊,他发了一个请求,他想要去。访问我们某一个资源。
01:02
这个资源呢,假设是一个某一个功能哈,假设呢,他想访问一个功能叫admin handler里边的update admin,哎,假设他想要去更新一个管理员。我们前面做的操作呢。就是没有考虑说这个人能不能做这个事儿。就是说呢,假设他能做这个事儿,咱们去把这个功能给实现了。现在呢?我们往后要考虑的就是这个人是谁?诶,识别到他的身份,知道他是谁以后,哎,再去再去判断他有没有权利,他我们系统是不是允许他做这个事儿。那你以不同的用户登录进来的时候,那么你能做的事情是不一样的,有的用户可以做这个事儿,有的用户不可以做这个事儿。那么他怎么能知道他能不能做这个事儿?
02:00
哎,你多少。他的这个。他他作为一个用户登录进来。哎,这个用户呢,这时候就是我们验证账号密码啊,那个用户。嗯。哎,这个验证用户密码啊,验证账号的密码,这个用户呢,他登录进来。他登录进来以后呢,我们根据这个用户哈,就识别到他的身份,下一步该干什么呢。这个用户呢,我们得检测他身上。带哪些个角色,哎,他的这个角色的信息。哎,所以说用户呢,得和角色去关联起来。哎,用户呢,用户他所这个我们叫做具备的。
03:03
啊,注意这个词哈,它具备的角色。然后呢,嗯,他去访问,这个时候它呢,我们可以把它看成是一种资源,这就是我们受保护。的资源,哎,他是我们受保护的资源。社保的资源呢,当我们想要去访问他的时候,诶,他会要求我们具备一些个权限。啊,你得有这个权限,这个权限啊,你得有那个权限,那个权限你才能操作我啊,啊要求具备。某某某。呃,权限。哎,那嗯,我怎么能知道这个用户他具备不具备人家要求的这个权限呢,那我其实就是说要去看它具备的角色,根据它具备的角色呢,再进一步去加载它具备的权限。
04:14
那么我拿到用户呢,他具备的权限。和人家要求的权限。你看啊,他这是用户具备的。哎,这是人家要求的。那你就比对比对呗,啊,你比对比对一下,你看看你人家要求的那个,你有,你就能够去操作人家要求的那个,你没有,那你就一边凉快去。啊,这二者进行一个比对,你不用去想这个代码怎么写啊。我们就把这逻辑想明白就行,这个代码不用我们写这个代码,我们用了框架spring security spring security去做这些事啊,我们将来用了spring security要做的事就是说我们把这个用户和角色关联起来,把我们这个资源和他要求具备的权限关联起来。
05:13
啊,然后呢,剩下的事把登录交给spring security,登录的检查,权限的检查,全都是security他在做的。我们就建立好这些关联关系就行了。哎。我们只是把这个逻辑想明白就可以啊,就是这个我们现在说的这个事儿呢,它就是一个权限的控制啊,这个这个其实就是一个权限的控制。那么。你想我们这儿?这个用户哈,他具备的这个权限,这边是要求的权限,诶你你具备我要求的这个就行,你不具备我要求的就不行。所以说呢。结合我们生活中的这个体验,那么我这个资源啊,把它想象成咱们的家。
06:01
哎,同学心里话说,谁跟你一个假声?哎,这是我们家,我们家呢,不能让别人随便进来。哎,那怎么办呢?我们得给他上一个锁。但是也不能谁都不能进来。我,我能进家的人呢,让他有有有有钥匙。哎。有他,有他,有他,有钥匙。你拿这个钥匙就可以去。这个时候呢,看看你能不能开这个锁。一把钥匙开一把锁。对吧,哎,然后你你你你你手里有这个钥匙,能开我这个锁,那你当然就能够进价。哎,其实你看我们权限其实不也就是这么一个道理吗?我要求具备的这个权限。我要求具备什么权限,就是上这个锁,这个锁呢,会要求你有这个钥匙。
07:01
然后呢,你手里边儿有这个权限,相当于你有这个钥匙,你有这个钥匙就能开这把锁啊,能开这锁你就能够进家。所以说权限验证的本质呢,就是拿钥匙开锁的一个过程。哎,我们去看一下啊,咱们看一下这个的。嗯。它的一个logo哈。哎,看看看看看看这个哈。哎,你看它是一个盾牌,盾牌象征着什么呀。盾牌象征着守护嘛,防守嘛,对吧,哎。你看游戏里边这个守护骑士,你不是都得拿一个盾牌。哎,MT是吧,你都得拿一个盾牌,哎盾战士对吧,然后呢,这边这画了一个钥匙。意思就是说呢,并不是防御一切,或者说并不是把一切拒之门外,你只要有一个钥匙,你就能够让你过来。
08:04
啊,这个盾牌呢,其实你也可以把它理解成也可以认为是一把锁。啊,所以这个时候其实你看从security这个logo上面就已经体现出来他一个工作的一个机制了。哎。好嘞,嗯,把这个东西哈,我们先给他拿过来。权限。控制机制的本质。就是用。钥匙开锁。呃,本质就是用钥匙开锁啊,嗯。刚才我们解释了啊,你看这个受保护的资源,相当于是咱们家要求具备什么权限,相当于给他加一把锁,这把锁要求你有什么样的钥匙才能开,哎,你身上你有的这个权限就是你的这个钥匙啊,你看看你能不能够开这个门。
09:07
所以说呢,这个时候我们现在做到哪一步了呢。角色本身我们能够做增长改查了,用户呢,也就是admin,他也有增产改查了,这个数据呢,就都准备好了,资源是什么呢?其实我们做的这个,呃,Menu的增长改查,包括我们前面写的类似的这样的一系列的方法,他们都可以看成是这样受保护的资源。那么所以说下一步呢,我们需要把用户和角色给他关联起来,需要把这个资源和权限呢,也是建立这样的关联关系,哎,先建立这样的关联关系,我们就知道哦,哪个用户呢,他具备什么样的角色,然后呢,访问一个什么资源,他要求具备什么样的权限等等啊这个关联关系建立起来,下一步我们就可以引入security来进行这个权限的验证了。啊。
我来说两句