如何在Spring中临时授予用户角色?

时间:2015-09-24 21:50:12

标签: java spring spring-security spring-boot

我有函数A()和函数B()。 A()仅被授权给ROLE_A,而B()可以被任何人运行。

但是,B()本身需要运行A()。但是当作为非ROLE_A用户运行时,这给了我一个访问被拒绝的异常。

这是让这个开始工作的好方法吗?我想在B()中调用A()调用来调用添加和删除ROLE_A但是我不想污染该方法,而且我不知道这是否是犹太洁食。

我正在修改的另一个想法是使用某种建议来注释B(),这些建议可以自动添加角色而不会污染函数。再说一遍,我不知道这是否是犹太洁食。

那些遇到过相同设计的人的建议是什么?

1 个答案:

答案 0 :(得分:1)

这个用例非常奇怪。在我看来,你应该尝试在运行中添加/删除角色。

您可以做的是创建C私有方法,其中包含AB所需的代码,然后从{{1}调用C方法}}和A将根据需要进行保护!