我正在将Grails v2.4.2与spring-security-rest,spring-security-core和spring-security-ui插件一起使用。
我试图禁用spring-security-rest随附的RestAuthenticationFilter,以便可以编写不区分大小写的自定义身份验证过滤器。
在我的config.groovy中,我正在使用以下过滤器链图:
grails.plugin.springsecurity.filterChain.chainMap = [
'/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter,-restAuthenticationFilter'
]
我添加了“- restAuthenticationFilter ”以排除RestAuthenticationFilter,但它仍在运行。
通过RestAuthenticationFilter登录时,如何排除RestAuthentication Filter或是否有更简单的方法来增加用户名不区分大小写?
最佳答案
似乎有2个不同的问题。
如果要排除REST身份验证筛选器,我认为您需要从链中删除restTokenValidationFilter和restExceptionTranslationFilter。
尝试
grails.plugin.springsecurity.filterChain.chainMap = [
'/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter,-restTokenValidationFilter,-restExceptionTranslationFilter'
]
如果要使用户名不区分大小写,只需创建GrailsUserDetailsService的自定义实现。实现loadUserByUsername忽略用户名的大小写。
参见http://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsService.html
关于rest - 禁用RestAuthenticationFilter-Grails Spring Security Rest插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29607438/