繁体   English   中英

春季安全表单登录

[英]spring security form-login

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

知道我错过了什么吗?

我发现它在Firefox中有效。 但无法在Internet Explorer中工作

Firefox默认不使用NTLM身份验证 ,而Internet Explorer则使用。

因此,除非您故意将Firefox安装配置为使用NTLM,否则Firefox将使用其他类型的身份验证,例如Basic或Digest。

Basic和Digest都使用简单的用户名进行身份验证,因此在Firefox发送用户名后,它将被存储在j_username (或Spring Security将其存储在其他任何地方)是j_username

相反,NTLM使用用户名和NT域进行身份验证。 即不是“用户名”,而是“ DOMAIN \\用户名”。 没有域,NTML用户名是没有意义的,因此NTLM用户名实际上并不等同于Basic或Digest用户名。 也许这就是为什么Spring Security不为您提供用户名的原因-NTLM没有像其他登录方法那样的简单“用户名”。

您是说重新提交时无法获得用户名吗?

您是否正在使用Spring安全变量$ {SPRING_SECURITY_LAST_USERNAME}

<input type="text" name="j_username" value="${SPRING_SECURITY_LAST_USERNAME}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM