我在我的grails应用程序中使用了spring安全插件,但是我需要在认证之前对用户名进行预处理,例如,如果用户输入" domain \ username ",我只需要删除domain。
我正在使用这些插件
compile ":spring-security-core:2.0-RC5"
compile ":spring-security-ldap:2.0-RC2"此外,我不能添加自定义表单,我需要使用this.Thanks的基本身份验证。
发布于 2015-08-06 05:51:45
我自己没有这样做过,但我可以让您大致了解一下您需要做什么。
LoginController不处理来自登录表单的HTTP POST。正如您在身份验证方法here中看到的那样,HTTP POST url来自一个配置条目。网址可能是/j_spring_security_check。该URL对应于Spring Security过滤器,而不是Grails控制器方法。本质上,您需要设置一个过滤器来拦截/j_spring_security_check并从用户名中剥离该域。
关于这些过滤器,有很多需要学习的地方。我还在想办法,但是Spring Security Reference是一个很好的资源。Twitter Auth插件子类化AbstractAuthenticationProcessingFilter,实现attemptAuthentication(),然后使用SpringSecurityUtils.registerFilter() registers过滤器。
发布于 2015-08-07 06:16:24
我能够通过覆盖BasicAuthenticationFilter并根据需要将doFilter()方法更改为自定义方法来解决此问题。
https://stackoverflow.com/questions/31798253
复制相似问题