gpt4 book ai didi

java - 具有角色和权限的 Spring Security

转载 作者:IT老高 更新时间:2023-10-28 11:48:20 26 4
gpt4 key购买 nike

我正在尝试使用权限设置基于角色的安全性。我正在尝试与 Spring-Security 一起执行此操作。

我不想设置 ACL,因为这对我的要求来说似乎有点过头了。

我只想拥有本 article 中所述的简单权限和角色.不幸的是,这篇文章没有描述如何实现给定的解决方案。

有人已经尝试过这个并且可以为我指出正确的方向吗?也许还有另一个描述实现的博客条目?

非常感谢。

最佳答案

我是相关文章的作者。

毫无疑问,有多种方法可以做到这一点,但我通常这样做的方法是实现一个了解角色和权限的自定义 UserDetailsRolePermission 只是您编写的自定义类。 (没什么特别的——Role 有一个名称和一组 Permission 实例,而 Permission 有一个名称。)然后 getAuthorities () 返回 GrantedAuthority 对象,如下所示:

PERM_CREATE_POSTPERM_UPDATE_POSTPERM_READ_POST

而不是返回类似的东西

ROLE_USER, ROLE_MODERATOR

如果您的 UserDetails 实现具有 getRoles() 方法,则角色仍然可用。 (我建议有一个。)

理想情况下,您将角色分配给用户,相关权限会自动填写。这将涉及拥有一个知道如何执行该映射的自定义 UserDetailsS​​ervice,它所要做的就是从数据库中获取映射。 (有关架构,请参阅文章。)

然后您可以根据权限而不是角色来定义您的授权规则。

希望对您有所帮助。

关于java - 具有角色和权限的 Spring Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com