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

Spring secure总是需要ROLE_前缀,我们如何删除前缀

乌翔
2023-03-14

我正在我的控制器中检查一个角色“XXXXX”。但它只有在我添加前缀“ROLE_”时才有效。

安全(“XXXXX”)不起作用,但当我添加角色前缀时,它工作正常(@安全(“ROLE\uxxxxx”)工作正常)。如何在Spring Boot版本2项目中覆盖此功能?


共有1个答案

杭柏
2023-03-14
匿名用户

选项1。您可以使用角色允许(“role\u name”)而不是安全

您需要通过使用@EnableGlobalMethod odSecurity(jsr250Enable=true)注释@Configuration类来启用JSR-250注释支持

选项2.您可以使用@PreAuthorize("hasRole('ROLE_NAME_WITHOUT_ROLE_PREFIX')")代替@Secure

您需要通过使用@EnableGlobalMethod odSecurity(prePostEnable=true)注释@Configuration类来启用PreAuthorize注释支持

 类似资料:
  • 我正在尝试删除Spring Security中的“role_”前缀。我尝试的第一件事是: 是否可以从Spring Security的hasRole检查中删除ROLE_前缀?

  • 问题内容: 我正在尝试在Spring Security中删除“ ROLE_”前缀。我尝试的第一件事是: 那没有用,所以我尝试按照http://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-的建议创建一个jc.html#m3to4-role-prefixing-disable。那也不起作

  • 问题内容: 我应该为我的Swift类名赋予三个字母的前缀,这是由Objective- C约定 所建议的:类名在整个应用程序中必须是唯一的? 问题答案: 不,您不需要Swift中的类前缀,因为类在它们所在的模块中具有命名空间。 如果您需要区分(例如)来自Swift和应用程序中声明的类/结构,可以通过将其键入为a 或a 来消除歧义。这也适用于扩展:

  • 问题内容: 我已经做过了,但是没有用。每当我访问它时,它都会转到。代码在这里给出: *我也添加了 *更新,但没有区别。另外,让我告诉您,我正在地址栏中输入地址,然后按Enter。我说的对吗?浏览器如何发现它不需要从服务器刷新? 更新#2 理想的情况是我想要的网址为和到。现在给出404 更新#3 我正在使用nginx代理,如果有帮助的话。 更新#4 擦除的缓存。现在我可以看到,而不是,但仍给404

  • 我有一个问题,要理解解决schemaLocation的部分。“http://www.w3schools.com”是我的默认名称空间,http://www.w3.org/2001/xmlschema-instance是我可以通过前缀xsi访问的名称空间。 但是为什么我必须使用前缀xsi来寻址w3schools名称空间呢?是否可以添加/使用第三个模式?如果是的话,我该如何处理? 向你问好Phil

  • 问题内容: 如何删除所有都有前缀的表? 注意:需要在phpMyAdmin中执行 问题答案: 您不能仅使用单个MySQL命令来完成此操作,但是可以使用MySQL为您构造该语句: 在MySQL Shell中或通过PHPMyAdmin,使用以下查询 这将生成一个DROP语句,然后您可以复制并执行该语句以删除表。 编辑:此处免责声明- 上面生成的语句将删除所有带有该前缀的数据库中的所有表。如果要将其限制为