grails - 使用Grails Spring Security插件中的interceptMap允许方法公开

标签 grails spring-security authorization

如何使用带有Grails Spring Security插件的InterceptMap公开公开 Controller 的方法?

我有这样的网址:

http://localhost:8080/testapp/user/showIdentity?token=2&userID=b18cac92f0636da8fcd464d5b595b9aba86b5f11

所以在我的interceptMap中,我有:
grails.plugin.springsecurity.interceptUrlMap = [
    '/':                  ['permitAll'],
    '/index':             ['permitAll'],
    '/index.gsp':         ['permitAll'],
    '/**/js/**':          ['permitAll'],
    '/**/css/**':         ['permitAll'],
    '/**/images/**':      ['permitAll'],
    '/**/favicon.ico':    ['permitAll'],
    '/login/**':          ['permitAll'],
    '/logout/**':         ['permitAll'],        
    '/**':         ['ROLE_ADMIN']   
    ]

如何将 Controller 的“showIdentity”方法允许为allowAll,而将其余 Controller 方法允许为ROLE_ADMIN,这是 Controller 的默认设置?

我知道使用Spring Security ACL插件我们可以做更多的事情,但是我想知道是否可以使用Spring Security插件来做到这一点。

最佳答案

将这两个加起来应该可以做到:

'/user/showIdentity':   ['permitAll'],
'/user/showIdentity.*': ['permitAll'],

/user/showIdentity.xml这样的请求需要第二个。其他/user/**请求将通过/**规则进行匹配。

关于grails - 使用Grails Spring Security插件中的interceptMap允许方法公开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21792043/

相关文章:

c# - 将 ASP.NET 角色授权与 IdentityServer3 隐式流结合使用

spring - Grails过滤器:以任何方式链接过滤器?

java - 我应该为休息 Controller 和常规 Controller 创建单独的 Spring 安全设置吗?

spring-security - Spring Security 和 LDAP MD5 身份验证

hibernate - Spring Security(和 hibernate )中基于组织层次结构的访问控制

Spring Security 自定义身份验证过滤器和授权

grails - 检查 View 中变量是否为空

grails - 使用 Markdown 作为 Grails View

Grails,抛出异常后保存域类

php - 在 PHP 中添加用户身份验证