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

Posted

技术标签:

【中文标题】如何以编程方式更改用户权限?【英文标题】:How to change user authorities programmatically? 【发布时间】:2011-05-20 21:55:24 【问题描述】:

大家好 我正在使用弹簧安全 3.0.2 我想在登录后获得用户权限并向他添加另一个角色 所以他可以访问一些需要新角色的页面 怎么办?

【问题讨论】:

【参考方案1】:

我在这里玩过这个方法:

User Granted Authorities are always : ROLE_ANONYMOUS?

它成功了。

【讨论】:

你能解释一下你对那里的方法做了什么吗?【参考方案2】:

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

【讨论】:

【参考方案3】:

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

您的解决方案的问题是用户必须注销并重新登录才能获得新角色。我认为 Sword101 想要完成的是动态地为用户添加一个新角色,而无需重新登录。

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

我尝试在我的(自定义)UserDetails 对象中使用一个标志来实现它。该标志由选民读取并相应投票。但这并没有真正按预期进行。但我可能会再调查一下,看看出了什么问题。

【讨论】:

以上是关于如何以编程方式更改用户权限?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式向用户授予特定表权限的最佳方法?

如何以编程方式获得 root 权限?

我们如何在Liferay中以编程方式创建用户和网站模板的角色,权限?

如何在android中以编程方式更改文件/文件夹权限

Django 1.6 - 以编程方式创建组和权限

以编程方式授予本地用户权限以使用 .Net 启动服务