如何设置 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/