Spring security 当springsecurity.debg.useFilter=false时,如何登录
Grails:3.1.6 Spring安全核心:3.1.1 Java:1.8 我有一个自定义登录表单和一个自定义登录控制器。 登录表单指向登录控制器的索引方法,然后将其转发到filterProcessUrl:Spring security 当springsecurity.debg.useFilter=false时,如何登录,spring-security,grails-plugin,grails3,Spring Security,Grails Plugin,Grails3,Grails:3.1.6 Spring安全核心:3.1.1 Java:1.8 我有一个自定义登录表单和一个自定义登录控制器。 登录表单指向登录控制器的索引方法,然后将其转发到filterProcessUrl: 转发uri:“${request.contextPath}${getConf().apf.filterProcessURL}”,params:params 我可以在设置grails.plugin.springsecurity.debug.useFilter=true时登录 当我在appli
转发uri:“${request.contextPath}${getConf().apf.filterProcessURL}”,params:params
我可以在设置grails.plugin.springsecurity.debug.useFilter=true时登录
当我在application.groovy中设置grails.plugin.springsecurity.debug.useFilter=false时,我尝试登录时会被发送到404页面。这就像apf.filterProcessURL一样,“/login/authenticate”不再被识别为有效的URL。我可以在日志中看到,它从未在FilterProcessURL上运行任何筛选器,而是直接从“login/index”跳到“/error”,并且不会触发“AuthenticationFailureBadCredentialsEvent”
为什么只有当我有debug.useFilter=true时它才起作用?结果表明,转发到filterProcessUrl是个问题。当我停止转发时,我就可以登录了。筛选器链正在查看转发未更改的请求.requestURI
当我使用调试过滤器时,转发的请求正在工作,因为调试过滤器包装了原始请求,我猜这更改了request.requestURI
,然后会被过滤器链拾取