当前位置: 首页 > 面试题库 >

具有角色和权限的Spring Security

高和通
2023-03-14
问题内容

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

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

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

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

非常感谢你。


问题答案:

要实现这一点,您似乎必须:

  1. 创建模型(用户,角色,权限)以及检索给定用户权限的方法;
  2. 定义自己的 org.springframework.security.authentication.ProviderManager并将其配置(设置其提供程序)为custom org.springframework.security.authentication.AuthenticationProvider。最后一个应该在其authenticate方法上返回Authentication,应该使用来设置org.springframework.security.core.GrantedAuthority(在您的情况下)给定用户的所有权限。

该文章中的技巧是为用户分配角色,但是要为Authentication.authorities对象中的这些角色设置权限。

为此,我建议您阅读API,并查看是否可以扩展一些基本的ProviderManager和AuthenticationProvider而不是全部实现。我已经完成了org.springframework.security.ldap.authentication.LdapAuthenticationProvider设置自定义LdapAuthoritiesPopulator的操作,该操作将为用户检索正确的角色。

希望这次我能得到您想要的。祝好运。



 类似资料:
  • 下午好.如何在不使用不同的OAUTH2服务的情况下,为一个应用程序中的特定实体(类似于RBAC/ABAC)的特定控制器配置用户的权限和角色? 还有一个名为Project的实体。用户可能是许多项目的成员。有一些项目用户角色:PROJECT_ADMIN、PROJECT_EDITO、PROJECT_USER。每个项目角色都可以拥有自己的权限(权限),如向项目添加用户、编辑项目等。所有角色配置都存储在'P

  • 我最常看到基于角色的访问控制(RBAC)需要权限才能执行操作。为主题分配了授予其权限的角色。 我最近遇到了一个授权库,它没有权限和角色的单独概念。主体仍然被授予角色,但是授权检查直接对角色进行,并且没有权限的概念。我担心这种设计有缺点,因为我很少看到它。以这种方式组合角色和权限可能会出现什么问题?在这个系统中,什么事情更困难?

  • 我有一个springmvc和springsecurity项目。 角色: 权限: 以及在角色和权限之间: 接下来的情况是: 我有一个控制器,我想用注释保护操作 大概是这样的: 但是注释不起作用,但是如果我把代码改成这样就可以了: 有人能给我一个提示吗?我不想用权限限制操作,我更喜欢角色限制。 提前谢谢。

  • 角色是分配给用户的权限集合。默认情况下,Navicat Monitor 包含三个预定义的角色供你分配给不同用户以限制其访问权限。它还允许你创建具自定义权限设置的新角色。苃要配置角色及其权限,请前往“配置”->“角色和权限”。 每个预定义的角色都有不同的权限: 角色 权限 管理员 可以完全控制访问所有页面。此角色的权限是不可编辑的。 DBA 可以访问所有页面,但以下功能“除外”: - 激活令牌密钥,

  • 我想在laravel中创建一个RBAC系统,其中一个用户可以属于多个角色,每个角色可以有多个权限。中间件应在继续请求之前检查用户是否具有特定权限(在其任何角色内)。 我能够实施一个案例,其中 用户属于一个具有多个权限的角色 我需要实现具有多个权限的多个角色的用户。有什么指点吗?

  • 在我的Spring Boot应用程序中,我有一个REST控制器,其方法如下: 只有具有权限\u UPDATE\u OWN\u COMMENT或权限\u UPDATE\u ANY\u COMMENT的用户才能使用此endpoint。 在这个方法中,我需要创建两个不同的流-一个用于具有的用户,另一个用于具有权限的用户。 所以我的问题是——为了在单个方法中实现这些不同的逻辑流,Spring Securi