当前位置: 首页 > 知识库问答 >
问题:

Spring Security角色和权限

国胤
2023-03-14

我有一个springmvc和springsecurity项目。

角色:

ROLE_USER and ROLE_ADMIN

权限:

READ_PRIVILEGE, WRITE_PRIVILEGE

以及在角色和权限之间:

ROLE_ADMIN -> READ_PRIVILEGE AND WRITE_PRIVILEGE
ROLE_USER -> READ_PRIVILEGE

接下来的情况是:

我有一个控制器,我想用注释保护操作

@PreAuthorize("hasRole('ROLE_ADMIN')") 

大概是这样的:

@RequestMapping(value = "/admin/usersAndRoles", method = RequestMethod.GET, produces = "application/json")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public @ResponseBody String usersAndRoles(HttpServletRequest request) throws IOException 

但是注释不起作用,但是如果我把代码改成这样就可以了:

@RequestMapping(value = "/admin/usersAndRoles", method = RequestMethod.GET, produces = "application/json")
@PreAuthorize("hasRole('WRITE_PRIVILEGE')")
public @ResponseBody String usersAndRoles(HttpServletRequest request) throws IOException 

有人能给我一个提示吗?我不想用权限限制操作,我更喜欢角色限制。

提前谢谢。

共有1个答案

杨凯旋
2023-03-14

如何配置权限和角色?

默认情况下,hasRole(“role”)检查“role”是否在经过身份验证的用户的授权权限中,因此只要您的角色在授权权限中,它就应该工作。

也许您正在使用您的权限作为授权权限?

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

  • 我试图在一个带有spring security和KeyClope的java应用程序中同时使用领域和资源角色。不幸的是,KeyClope只会返回一个或另一个,具体取决于: 您仍然可以通过自定义代码获得这两种方法,但它会弄乱@PreAuthorize或spring boot方法等注释。isUserInRole,这会导致难看的代码。 有没有办法覆盖@PreAuthorize方法或JSON令牌Keyclo

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

  • 所以,请提前指导我如何在spring mvc中实现这个任务谢谢。

  • 问题内容: 我正在尝试设置具有权限的基于角色的安全性。我正在尝试与Spring-Security一起执行此操作。 我不想设置ACL,因为这似乎对我的要求来说有些过头了。 我只想拥有本文所述的简单权限和角色。不幸的是,本文没有描述如何实现给定的解决方案。 有人已经尝试过了,可以指出正确的方向吗?也许还有另一个博客条目描述了实现方式? 非常感谢你。 问题答案: 要实现这一点,您似乎必须: 创建模型(用

  • 我正在使用Apache Shiro(v1.2.3),我正确地设置了用户名/密码身份验证,并且它正在工作(我将密码散列和salt存储在远程数据库中)。我现在正在尝试使用角色设置权限。我有一个扩展的领域,例如。 我的如下所示: credentialsMatcher=org.apache.shiro.authc.Credential.sha256CredentialsMatcher credential