00:00
那我们为什么要这么这么这么正式,这么严重的说这样说这样一个现象,其实这个虽然说他会给加这个,但是好像看起来对我们写代码现在看没有什么影响,他加就加就好了,我调Rose就加的是角色调authority加的就权限呗,这个没有啥问题。现在看是没啥问题,但是呢,将来就有问题了。我们现在是基于内存的一种这个登录,呃,将来呢,我们要肯定得做查数据库的那个登录,我们要做查数据库的那个登录。这个角色吧,就得我们自己往这个,往这个集合里边去放,我给找一下啊,它是往就相当于是这个地方。这个代码呢,跟他在这儿放权限那个是基本上是差不多的啊,我们看一下啊呃,他在这里边儿呢,他要写的那个代码,就是将来我们要自己手写的那个。
01:01
哎,等一下,等他断点过来啊。我进。我进。我进。哎,就在这哈,将来呢,需要我们手写代码去提供这个granted authority list,我们自己手写代码提供它。那么你像呃这个角色的名称,权限的名称,需要我们自己去查数据库。然后呢,自己去尿一个ist里边放的granted authority,遍利这个集合,创建simple granted authority给它传进来,放到集合里边,返回把这个东西给security,这些东西得这个事儿得我们自己干。那么我们自己干的时候,我们就得想着点儿,就把这个肉下颚线这个前缀给他加上。啊,也就是说这个security啊,它这个自动加前缀这个事儿是局部局部的啊,就是它要求的时候,你这边设定这个要求。
02:05
设定这个要求,他都会自动的加这前缀,但是呢,给角给真正给一个用户给他设置啊,说他有哪些个角色,这个前缀得我们自己去加。啊,如果说我们忘了这这事儿的话,我们没加的话,他就会当成是权限,当成authority。啊,那么你和这边,你和这边要求的,他如果要求的是角色,他就对应不上了啊,他就这边儿,你本来应该能够验证通过,结果他就通不过了。啊,就会有产生这样的出入啊,这就是为什么我们要强调这个事儿,因为这个得将来我们自己去加啊。嗯,当然这个时候可能大家会有一个问题,说他为什么要加这前缀,就他这个。角色就角色,权限就权限呗,他为啥要加呢?因为啊。他把角色和权限呢,都放到一个集合里边了。都都是simple granted authority这个类型。
03:03
都是放到authorities这个集合里边。他要不加这前缀,他就区分不开了,他就不知道哪个是角色,哪个是权限了。啊,那然后那下一个问题说他为啥要放一个集合里边呢,别放一个集合里边不就行了吗。我我估计他是为了方便。啊,他就放在这一个里边,反正我拿角色也能验证,拿权限也能验证啊,这个时候就哪个验证通过,我就这里边有匹配的,我就让你过。我估计啊,我估计他是为了方便,他就放在这一个集合里边了。是,他是省事的,但我们自己得小心,这有个坑啊。嗯。这回这个。断点让它过去就行了啊。哎,我们在这儿说一下啊。哎,之所以啊要强调这个事情啊,是因为。
04:01
嗯,将来从数据库查询得到的。嗯,用户信息角色信息,权限信息啊,需要我们自己手动的去组装。哎。嗯,手动组装时。就需要我们去。需要给这个需要我们自己啊,给这个角色字符串前面加。这个肉杠的前缀。啊,先提一下,后边我们做这个事儿的时候呢,咱们再强调一下。
我来说两句