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

在spring security core for grails中配置requestmap时出错

董琦
2023-03-14

在我的系统中,我为用户分配了许多角色(现在假定role_admin,ROLE_USER,role_services)。在我的一个控制器中(假设SearchController有三个操作ServiceIndex{}、userIndex{}和adminIndex{}),我希望任何角色的用户都能够访问其中的两个操作(前两个)。对于最后一个操作,我想限制对单个角色类型的用户的操作(比如ROLE_USER),但允许访问其他角色的用户(即role_admin、role_service

config_attribute------------------------------------------------>URL
ROLE_ADMIN,ROLE_SERVICE,role_user------------------>/search/serviceindex
ROLE_ADMIN,ROLE_SERVICE,role_user-------------->/search/userindex
ROLE_ADMIN,ROLE_SERVICE,role_user------------->/search/userindex----------------------------->/search/adminindex

由于第三条规则指出url“/search/adminindex”对ROLE_USER不可访问,因此应该拒绝具有该角色的用户访问该url的授权。但是,用户仍然可以访问URL。正确的配置是什么。我确实尝试了/search/adminindex/**,但这也不起作用。另外,没有一个url会有后缀,但如果用户操作url(如添加后缀,如/search/userindex/56a)以防万一,我仍然希望阻止访问。

问候你,迪佩丝

共有1个答案

盖和泰
2023-03-14

由于插件遍历规则并应用与当前URL匹配的第一个规则,所以我将首先设置adminIndex,然后为其他任何内容提供一个总括。

ROLE_ADMIN,ROLE_SERVICE            /search/adminIndex
ROLE_ADMIN,ROLE_SERVICE,ROLE_USER  /search/**
 类似资料:
  • 我的电脑上安装了Windows 7。我下载了XAMPP服务器,并用它的默认选项安装了它。然而,我注意到Tomcat不起作用(MySQL和Apache确实起作用!)。我试图在XAMPP中配置Tomcat,但出现以下错误。 11: 47:40 AM[Tomcat]检测到问题<“C:\oraclexe\app\oracle\product\10.2.0\server\BIN\tnslsnr.exe”正在

  • 我试图通过Maven做一个简单的JaCoCo报告,但我总是得到同样的错误。这是我的插件的一个片段。 当我运行时,我得到以下信息 无法执行目标org.jacoco:Jacoco-maven-plugin:0.7.2.201409121644:检查(default-cli)项目 ###########: 目标org.jacoco的参数'规则':Jacoco-maven-plugin:0.7.2.201

  • 我的代理配置是: 为什么这样?他们的jms配置有问题吗?请引导我。

  • 失败:执行错误,从org.apache.hadoop.hive.ql.exec.FunctionTask返回代码1。配置单元仓库是非本地的,但是/home/hduser/hadoop-tutorial/hadoop-book-master/ch17-hive/src/main/java/com/hadoopbook/Hive/strip.jar指定本地文件系统中的文件。非本地仓库上的资源应指定非本

  • 我试图运行此函数以获取配置单元中的当前日期,但出现以下错误: 编译语句时出错:FAILED:SemanticExctive无有效特权此查询所需的特权:Server=server1- 我在网上搜索,并被建议以下功能来获取Hive中的当前日期,但都给出了相同的错误: 但是,如果我按照给定的方式运行它们,它们都会显示错误。

  • 我目前正在将Ed Burns的JSF 2.0教科书中的虚拟培训师示例应用程序从JSF托管bean转换为CDI。到目前为止,我遇到的大多数问题都与作用域和忘记正确注入有关,但现在我正在努力克服最近的一个障碍,即从RequestMap中提取CDIBean(实际上是一个实体类)。从目前为止我所能确定的情况来看,似乎可以通过使用样板文件非常简单地提取请求范围的托管Bean。映射实现提供的get(Strin