我正在使用Sping MVC和Spring Security,但我的脑海中有一些困惑。在Spring Security中,登录表单的操作是'{application context}/j_spring_security_check',它隐藏了身份验证的整个过程。在Spring MVC中,我可以很容易地找到对应于特定url的控制器。显然,没有控制器来处理j_spring_security_check。我知道身份验证是在spring安全上下文中进行的。但是,当登录表单提交到j_spring_security_check时,它是如何发生的,整个过程是什么?非常感谢!
发布于 2014-03-02 17:42:14
它是在扩展AbstractAuthenticationProcessingFilter的UsernamePasswordAuthenticationFilter中配置的。它包含requiresAuthentication方法,用于检查url中是否存在已配置的登录路径(本例中为j_spring_security_check )。
您可以在集成开发环境或http://grepcode.com/file/repo1.maven.org/maven2/org.springframework.security/spring-security-web/3.0.1.RELEASE/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.java中进行检查
https://stackoverflow.com/questions/22109645
复制相似问题