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

如何在从3.2.7到4.0.2的Spring Security更新中处理defaultRolePrefix=“ROLE\ux”。发布

彭鸿畅
2023-03-14

我的Spring Boot应用程序适用于Spring Security 3.2.7。释放。现在,我想将其更新为4.0.2。释放。

经过数小时的调试,我发现Spring Security 4.0.2。发布使用defaultRolePrefix

在里面

org.springframework.security.access.expression.SecurityExpressionRoot.hasAnyAuthorityName(字符串前缀,字符串...角色)方法

在我的应用程序中,我使用没有此前缀的角色,因此我得到AccessDeniedException

如何配置Spring Boot以使用SecurityExpressionRoot。defaultRolePrefix=”

共有2个答案

陆和泰
2023-03-14

另一方面,您可以删除此处描述的角色前缀ass。在此cas中,您可以自由使用其他注释。

岳浩宕
2023-03-14

我找到了如何修复它的解决方案。我需要将hasRole更改为hasPower,例如:

@PreAuthorize("hasAuthority('PERMISSION_CREATE_NODE')")
 类似资料:
  • 问题内容: 当前,我们在数据层中使用JDBC,并计划用hibernate代替它。我是Hibernate的新手,不确定Hibernate如何处理并发。如果我们使用spring进行事务管理,有人可以解释一下我如何处理并发更新:通过hibernate(在内存中进行hibernate的自动版本管理),或者我必须将version列放入数据库中以手动处理并发更新。 问题答案: 无论你是否使用Spring进行事

  • 问题内容: 在SQL Server 2008中,我想在表中添加一列并在之后立即对其进行更新,但前提是之前尚未创建它们。如果该列之前已创建,则我不希望运行更新。 在列添加之后放置“ GO”不起作用,因为那将不是一个完整的批处理语句,但是如果我尝试像这样运行它,则会收到错误“无效的列名’COLOR_SCHEME’”。 关于如何在运行更新时使该列存在的任何想法? 问题答案: 您可以尝试使用动态SQL代替

  • 问题内容: 由于声誉的限制,这是对先前问题的回答的后续问题。 但是想象一下一个有变化的列的大桌子。您必须比较每列,如果数据库发生更改,则必须调整触发器。而且比较硬编码的每一行都没有“感觉”好:) 是的,但这就是进行的方式。 附带说明一下,在更新之前先检查一下也是一种好习惯: 在您的示例中,这将使其更新(从而覆盖)两行而不是三行。 我想知道在处理NULL值时是否有更有效的方法来测试每个字段的更改。

  • 我最近升级到光纤了。在15中,当组件更新时,更新堆栈跟踪如下所示 您如何在Fiber(React 16)中找到更新的起源?

  • 让我们举一个电子邮件传奇的例子:当一个用户注册时,我们创建一个发布UserRegisterEvent的用户聚合,一个传奇将被创建,这个传奇负责确保注册电子邮件被发送给用户(电子邮件可能包含验证密钥、欢迎消息等)。 我们是否应该使用: > 用try/catch->缩放吗? 使用deadline是因为我们只使用“send”,而不处理命令的最终错误,这可能是发送失败(其他服务关闭,等等) 其它的呢? 还

  • 问题内容: 我不知道如何在或(别名或)中引用复合组件的后代组件。 我有这个复合组件: 通过此页面调用: 我有这个输出: 结果是没有任何ajax调用更新任何组件。我不明白为什么找不到“ itemForm:itemCrud:table:newButton”。仅用引用。 我正在使用primefaces 3.0.RC1-SNAPSHOT和Mojarra 2.1.3_01。 问题答案: 您需要在绝对客户端I