Grails: disable Spring Security Core on certain paths

前端 未结 3 1234
攒了一身酷
攒了一身酷 2021-01-22 19:58

How do I set up Spring Security Core in a way that calls to a certain pattern (such as /api/**) are not filtered?

grails.plugins.springsecurity.filterChain.chain         


        
3条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-22 20:37

    You can implement a simple non-authentication filter::

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

    Define it in resources.groovy:

    beans = {
        nonAuthFilter(NonAuthenticationFilter)
    }
    

    And configure your url pattern:

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

提交回复
热议问题