当 ntlmprocessingfilter 失败(输入错误的用户名和密码)时,它被转发到表单登录页面。但我无法从 protected UserDetails retrieveUser(String username
知道我错过了什么吗?
我发现它在 Firefox 中有效。但不能在 Internet Explorer 中工作
最佳答案
火狐 does not use NTLM authentication默认情况下,而 Internet Explorer 会。
因此,除非您特意将 Firefox 安装配置为使用 NTLM,否则 Firefox 将使用其他类型的身份验证,例如 Basic 或 Digest。
Basic 和 Digest 都使用简单的用户名进行身份验证,因此在 Firefox 发送用户名后,它会被存储在 j_username
(或 Spring Security 存储它的任何其他地方)。
相反,NTLM 使用用户名和 NT 域来进行身份验证。即不是“用户名”,它可能是“域\用户名”。没有域的 NTML 用户名是没有意义的,因此 NTLM 用户名并不真正等同于基本或摘要用户名。也许这就是 Spring Security 不给你用户名的原因——NTLM 不像其他登录方法那样有一个简单的“用户名”。
关于java - spring security 表单登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734333/