00:00
下面的话呢,我们来看一下这个权限的注解,前面我们讲过,这个注解呢,我们可以放到controller层对应的方法上,也可以放到service层对应的方法上,对吧,先大致上过一遍,第一个requires on medication,我们要求用户是经过认证的G调subject is und返回处。Request users,用户已经认证或者是通过记住进行登录。request guest应该是什么呀?它是一个游客的话,哎,这个时候可以去调用对应的方法,Require Rose,你需要有哪些角色?你可以需要哪些权限,我们来举一个例子,看一下效果,现在的话呢,我来写一个。Service。
01:03
Public void test method method。Time。加new,我们只是一个测试嘛,对吧,然后的话呢,我把这个service放到我们的LC容器里边。放这吧。B class。Service。然后呢,我把这个放到我的handler里边。停掉。错了,Service是吧?
02:03
At zero4维好一些,然后呢,写一个方法test c。A request。Mapping。Test the not。我们来调用s service的方法。Method,这个回还是dict登录下,目前这个肯定是可以测试通过的,因为我对它并没有加任何其他的注解,也没有加任何权限是吧?拿过来我们的这块,我们加上这样的一个条链,B2B2AC下边。
03:12
T第一个字母大写OK,测试一下效果看一看。拿过来logout注意看哈U多进行登录,123456走起看一下效果走大家注意到这个时间打印了吧,是吧,页面的话呢,又重零向回来了,所以说没问题,好了,我们以标段进行登录,123456走。呃,没问题,以个的命令行登录123456也没问题,对吧?好的,下边的话呢,我们来添加一个注解,看一下效果,填什么注解呢?我们在这个service这个方法上加上一个注解,加上一个request。
04:09
Rose,我需要一个什么呢?大家注意哈,这个Y6值是一个四串数组,哎,我要求你必须有in这个角色才可以。看到了吧,必须有in这个角色才可以,这个时候我们再走的话,我们就会发现in可以访问,而优不能够访问。Out,新ADMIN123456,进来admin访问一下。没毛病对吧?Lookout you123456站进来。走,我们发现怎么了,抛出了一个异常吧,是吧,他说什么,他说你没有对应的权限。那我们这个异常可以怎么处理啊?我们可以使用spring的声明是异常,给我们搞出一个错误的页面吧。
05:05
还记得吗?我们有一个注解叫exception handler,还有一个叫control。感兴趣的可以看斯兰VC的这个视频,这里边的话呢,我们就不再说了,以上的话呢,就是我们讲的权限注解,其他用的,其他几个注解用的方式跟这个是相类似的,这里边有一个需要注意的。我们开发的时候吧,我们往往在service长上边,我们会添加一个TRY注解,即让service。方法开始的时候会有事物,那么这个时候这个service呢,就是已经已经是一个代理对象,这个时候你把这个注解加到service自成是不好用的,这个时候需要加到CTRL程,就是说你不能够让我的service是代理的代理,那这个时候呢,我们在注入的时候会发生类型转换异常。大家开发的时候的话呢,需要注意一下。
我来说两句