java - spring security 表单登录

标签 java spring spring-security ntlm

当 ntlmprocessingfilter 失败(输入错误的用户名和密码)时,它被转发到表单登录页面。但我无法从 protected UserDetails retrieveUser(String username

中的 j_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/

相关文章:

java - ManyToMany - 删除 Join 表中的条目

java - 避免方法之间的 hibernate session 破坏

java - RestController POJO 中的 Spring 依赖注入(inject)

javascript - Grails 如何在 javascript 中获取用户名?

java - 定位问题 - 在 JPanel 中动态添加/删除

java - 根据 ArrayList 中的值切换微调器中的值

spring - 通过URL生成用于身份验证的 token Grails Spring Security Rest插件

java - Spring拦截授权端点的http请求

java - 在Java SpringBoot中,可以有一个通用的起始节点并稍后分配类型吗?

java - 动态加载Spring聚合参数进行测试