如何以编程方式更改用户权限?

时间:2010-12-06 10:40:42

标签: spring spring-security

祝福所有人 我正在使用spring security 3.0.2 我想在登录后获得用户权限并向他添加另一个角色 所以他可以访问一些需要新角色的页面 该怎么做?

3 个答案:

答案 0 :(得分:2)

我在这里玩弄了这个方法:

User Granted Authorities are always : ROLE_ANONYMOUS?

它就行了。

答案 1 :(得分:0)

您必须创建从数据库加载权限数据的身份验证提供程序。在这个stackoverflow question中,您可以看到实现它的方法。每当您需要更改用户权限时,您只需更改数据库中的数据。

答案 2 :(得分:0)

@Javi:我不知道如何评论你的回答,所以我不得不创建一个新的。

您的解决方案的问题是用户必须注销并重新登录才能获得新角色。我认为sword101试图实现的目的是动态地向用户添加新角色而无需重新登录。

然而,这是一个我正在研究的问题,到目前为止还找不到合适的解决方案。

我尝试在我的(自定义)UserDetails对象中使用标志实现它。这个标志由选民阅读并相应投票。但这并没有按照预期的那样成功。但我可能会再次调查,看看出了什么问题。