00:01
各位同学大家好,欢迎继续收看上硅谷视频课程。咱们继续来学习任security,在刚才内容中呢,给大家演示了基于权限进行反控制,咱们主要演示了两方法,一个叫has also,一个叫has an also,那下面我们继续往下演示,在这里边还有两个方法,一个叫害S肉,一个叫害S安肉,其实大家看两方法应该能猜到。他们也是针对某一个角色,还有他的多个角色的这么一个操作方法,那这两个方法给各位来演示一下,这里边我写一下,咱们下面演示D。三个方法叫这个has肉,这个方法含义是什么呢?跟我们那个has also基本上类似,它就表示如果用户具备给定角色就允许访问,否则就不能访问,不能访问没有权限嘛,那反应肯定就是C3,所以这里边下面把这个给大家来演示一下,咱们看它是怎么样的一个效果。
01:14
那我来写一下这个代码,代码写法跟刚才基本上类似,但是里边呢,有一个地方不太一样,怎么不一样,咱们可以看一下它的源码部分,那我们来写一下啊。比如现在这段话。我先。注掉,这是咱们刚才的。血压啊,这是第一个方法。然后这是第二个方法,下面我们再来写一下它的第三个方法。就咱们一个一个多做演示,然后第三个方法,这位置中呢,就不瞎插了,我们加上一个名字叫这个has肉,注意是加这个方法,然后里边加上你的角色,假如说我这个角色,比如我就叫这个肉啊,咱叫这个肉,那就表示当前你用户需要有这个角色才能进行操作。
02:08
呃,那咱写的更明确点啊,假如说我们一个系统中可能有那个销售人员,咱们叫赛。我叫cell啊,咱就比如说这个角色那里边大家可以操作,所以这是我们的这个方法,但是这个方法中啊,有一个特点跟上面不太一样,咱们通过源码来看一下啊,比如说上两源码再看一下。我们看第一个方法啊,Has also进入到源码中,在这里边它掉了这里边的has author方法,我们进入这些方法很简单,就是给定有没这个选项就可以了,然后你再看里面这个叫has any author单位进入看一下,大家看啊这方法中一个特点是什么?这是什么?是不是可变参数,然后里边你看啊,根据逗号是不是隔开呀,然后里边只要其中的某一个都可以进行访问,这是两方法,一个是某一个,一个是多个,多个之间用逗号隔开,这个代码应该很好理解,比如说咱们现在再看这个氦重跟之前不太一样了啊,那我们看啊这个特点大家仔细看这方法,比如现在我传个肉,然后这个肉呢,在它的底层中呢,他会给我们做件事情,在你传到句的前面多个什么,是不是多个肉下划线这个值,也就说啊,最终我写的是赛,然后它变成的值是什么肉下划线。
03:35
赛,它给你变成这个角色,这个应该能看懂啊,包括咱再看一下源码中,他把你传的角色给你加了一个前缀叫肉,下划线加你的名字,所以咱们写的话呢,在配置类中这些名字,但是我在设置用户的时候,你用户前面必须要加上一个肉才可以。这个要理解啊,要加一个肉,因为它源码中有这么一个地方,这各位要特别注意啊。
04:03
包括那个安妮跟它类似,就是里边多出来这么一部分。咱通过源码也做了一个查看啊,给各位也是寄过来,然后下面再给他写完,首先配置类里边我就加一个S,呃,这两个先注掉啊。为了明显咱给它注掉,就保留这个肉,我们就要在,然后咱们在我们的这个里边加上这么一个角色,而这个角色中要加的,你要加一个肉啊,肉下划线加这个sal,因为它底层给你做了一个封装,刚才我应该我们也看到了,这样的话就能够基于这个进行一个。角色的访问控制,这个咱们就点出来了,我把这个给各位。斜过来,你要特别注意啊,里边的这个地方啊。跟上面那个有一定的区别。这个提过来,然后它的底层因为做了这个事情,所以咱们在设置的时候,你需要手动给它就是加上。
05:09
这么一个处理,就是加一个前缀嘛,要不然他匹配不到啊,就是不是这个角色就加上之后才可以。这个那就完成了啊,然后完成之后咱们给他做一个测试。看咱们这么写之后能不能完成一个访问,那我现在把它重新启动一下,咱们来试一下啊。看一下这个结果。这个笔中写量就是刚才带着各位看到那个源码的部分啊。多加了一个前缀。好,现在启动,然后咱们访问首先刷新Lucy。123登录。是不是可以了,这样的话,这个角色就可以进行访问了啊,这就可以了,就是咱说的害S中,然后里边还一个叫Hass an中,这个我觉得我不演示,各位应该都能看懂啊,咱就快速看一下,很简单,它针对是什么?是你只要你多个中满足其中的某一个条件,也就是说啊,我在这个里边呢,我可以设置多个角色,而我的用户只要是其中的某一个角色就可以访问,这内是多个角色,这我就不演示了,因为跟我们之前那个hi安妮奥是一样的,只是你写多个角色,中间用逗号隔开就可以了,我把这个方法给各位复制过来啊,就是里边的D。
06:29
四个方法。写到这里。第四个方法。Has a米,它针对是你的多个角色的这么一个操作,比如里边用户具备其中的任何一个都可以进行访问。里边写法跟之前一样,咱们就在里边,你加上多个角色,然后你用逗号隔开啊,我就把这个位截过来了,就是这么一段代码。
07:01
就是我们的这么一个过程啊。然后这里边呢,我们设置之后,咱们就是在我们的这位置,我们换个方法,就是换一个叫这里啊,换一个叫has安妮宙,然后里边剩余的角色,它也是可以进行访问的,这个我就不具体演示了,就跟之前一模一样,没有本质区别,各位给他动手,按照我这过程快速演示出来。这样的话咱们就完成了啊。也就是说呢,到现在为止呢,咱就完成了基于角色或者权限进行访问控制,给各位一共演示了四个方法,这四个方法在里边我们都做到了,各位能够按照我刚才演示过程,把四个方法分别是什么,包括他们的特点给他要牢记住,因为他们是进行这个访问控制里边使用到的几个方法。这个啊,我们就完成了一个演示。
我来说两句