spring - Grails:在某些路径上禁用 Spring Security Core

标签 spring grails spring-security grails-plugin

如何设置 Spring Security Core 以不过滤对特定模式(例如/api/**)的调用?

grails.plugins.springsecurity.filterChain.chainMap = [
'/api/**': '',
'/**': 'JOINED_FILTERS',
]

不起作用,因为它将尝试解析 bean ''。

除了“JOINED_FILTERS,-filter1,-filter2,...”这个令人讨厌的解决方法之外,还有什么其他方法吗

如何从 Spring Security 中排除静态资源?

最佳答案

您可以实现一个简单的非身份验证过滤器::

class NonAuthenticationFilter  extends GenericFilterBean {

    void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        chain.doFilter(request, response);
    }
}

在resources.groovy中定义它:

beans = {
    nonAuthFilter(NonAuthenticationFilter)
}

并配置您的网址模式:

grails.plugins.springsecurity.filterChain.chainMap = [
    '/api/**': 'nonAuthFilter',
    '/**': 'JOINED_FILTERS',
]
grails.plugins.springsecurity.interceptUrlMap = [
    '/api/**': ['IS_AUTHENTICATED_ANONYMOUSLY']
]

关于spring - Grails:在某些路径上禁用 Spring Security Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18079122/

相关文章:

java - 使用 xml 和注解配置两次加载 Spring 上下文

java - Spring Security 数据库身份验证将 Spring 用户转换为域用户

java - Spring 类型 = 未找到,状态 = 404 没有可用消息

java - 斯坦福 CoreNLP、Spring Web 服务、Netbeans 8.0.1 和内存不足

java - 为什么 Spring Boot 对实体的 "404 Not Found"处理方式不同?

grails - 对Grails应用程序进行国际化时出错

rest - Grails列出 Restful 资源返回意外结果

java - 警告 : Unable to auto-create type

spring - 如何绕过 RestController 上的 Spring @PreAuthorize 注解进行测试?

java - Spring:PropertyPlaceHolderConfigurer 用于设置非字符串/整数属性的值