00:01
哎,再往下来,我们就可以基于角色或者权限啊进行一个控制。哎,这个实现访问控制。有了这个的话,就是我们最核心的想要的就是这个功能。啊,你不是每个用户过来,每个请求你都可以访问。啊,这里边儿我要对你进行这个限制。这个限制的方式呢,我们在这儿哈,可以进行,呃,还是on mats,这是一个统一的一个设置啊,在这儿这个。访问这个路径下边的啊,所有的资源。这个。啊,不是这UI哈,对LEVEL1哈,LEVEL1是需要学徒,LEVEL2需要这么一个权限,这需要角色,这需要权限啊是这样设置的。嗯。把这些这个给它省略一下。
01:11
嗯,这里边儿就是设置设置好设置啊,这设置这没有过多的好说的,这里边儿关键是我们需要去注意的就是。我们security它会在。底层。用肉下了线。去区分我们的角色。或者是权限,呃,角色和权限。啊角角色前面就带这个前缀,前线前面不带这个前缀。会被附加,哎这个前缀。啊,它它底层是是这样这样去做的,嗯。
02:05
特别是这个会影响到我们查数据库,进行这个。呃,进行认证登录的时候,我们必须呢,我们自己去把这个这个前缀给他带上啊,这必须是我们自己去带上的。啊,这个因为这个查数据库出来以后准备这东西是我们自己去准备了,就不能这个security就不管了,这就得我们自己去加这个啊。好嘞。嗯。有了这个以后哈,这个下一步就考虑说现在他这个效果就是你要是访问拒绝以后啊,就说你是认证了,但是你访问这个资源,我需要这个叫,哎,可能某个角色,但是你没有这个角色,那么我这边就会给你一个403。嗯,这个效果哈。访问了。嗯,就是这么说吧,访问被拒绝。
03:02
后啊,这个是。呃,返回的是一个403的一个页面。所以说下一个呢,就是指定。403页面。啊,直接让用户看到403,这个体验是非常不好的。我看一下啊,我们之前有一个截图。有没有放在这儿哈。嗯,这个是我们加这个他加前缀的这个源码的截图哈,这个我们也放在这哈。放在这儿,方便大家去去对照。那么现在我们指定一个403页面呢,这个这个省事哈,这个你先得是有这么一个页面啊,先有这么一个页面,然后呢,就是说我们去写一个方法就写一个。请求这个地址,我们就去这个地方。啊,这个东西你写个view controller其实也可以哈。
04:01
然后呢,调方法是exception handling access denied,配置直径上这个地址就行了。嗯,然后。呃,咱们这儿写一下这个最核心的部分啊。Exception handling。在这。啊,这个是access dey的配置,当然你要说,呃,不满足于仅仅就是去一个页面啊,不满足于去一个页面,我们现在还想进行我的详细的定制啊,我想自己去放消息到请求域,我甚至于说还想去记录日志,我还想做一些别的事儿啊,或者说我在缓存里边可能还有些什么临时的数据要把它删掉等等啊,你要做类似这样的事情,那么我们这边用什么什么这个handle。Access de可以去让我们写代码进行这个定制。哎。啊,所以说这个时候其实是两个方案吧。
05:05
嗯。呃,这个是一个简易的一个方案。直接去这个页面的。哎,还有一个定制的方案。这个定制方案呢,是我们去在这里边哈。也是,呃,Exception handling,这个是需要的。下边呢,可以再用一个access denied handler。这个宽一点。
06:02
哎,然后就是说他会来执行我们这个里边这个handle这个方法啊,这个这是两个不同的这个方案啊。嗯,当然这个时候你用他的话,这个地址肯定是需要提前准备好。哎,需要。呃,能够访问到。指定的页面啊,这是肯定的。定制方案的话,这个就看你的这个需要自己去写了。
我来说两句