我在针对Active Directory验证用户身份时遇到问题。我正在尝试通过PrincipalContext
对我的用户进行身份验证。
我的问题是,当用户密码包含非ASCII字符验证时,即使使用正确的凭据也会失败。但我只在我的生产环境中遇到这个问题。它在UAT和开发环境中运行良好。
如何解决此问题? AD有什么设置与此有关吗?
答案 0 :(得分:0)
尝试将密码编码更改为UTF-8
答案 1 :(得分:0)
在黑暗中拍摄,但是听我说。这就是为什么我问这是否是一个网络项目。我有类似症状的类似问题。一位用户来找我说他无法登录我的网站。事实证明他的密码中有“特殊”字符。它没有意义,但在禁用自定义错误后,我意识到错误是由ASP.NET请求验证引起的:http://msdn.microsoft.com/en-us/library/hh882339%28v=vs.100%29.aspx
请求验证是ASP.NET中检查HTTP的一项功能 请求并确定它是否包含潜在危险 内容。在这种情况下,潜在危险的内容是任何HTML 正文中的标记或JavaScript代码,标题,查询字符串或 请求的cookie。 ASP.NET执行此检查是因为标记或 在URL查询字符串,Cookie或已发布的表单值中找到的代码 可能已被添加到请求中以用于恶意目的。
在我的代码有机会验证用户密码之前,几乎所有看起来像标记的内容都被标记,运行时抛出异常方式。
希望这有帮助!