0

我正在尝试将带有摘要 MD5 标头信息的 http 请求重定向到活动目录以验证凭据。

我确实有 http 标头提供的信息,例如 nonce 和用户名。我现在的问题是我没有将这些信息放入PrincipalContext对象的链接。

我显然不能使用 PrincipalContext.ValidateCredentials(username, password) 因为它需要纯文本密码。

我能够使用的唯一验证是UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username);,但这不包括密码。

我有一个HttpListenerContext对象。但用户变量为空。

4

2 回答 2

1

在我告诉我的服务器给用户 AuthenticationSchemes.IntegratedWindowsAuthentication 之后,他自动提供了一个 WindowsPrincipal,它提供了来自 AD 的信息。

于 2013-02-21T09:39:18.563 回答
0

蒂姆一旦你得到信息,你可以做这样的事情来检查是否有效如果我理解你想要正确测试的内容,那么尝试这样的事情

如果您通过代码或服务运行此程序,则密码在暴露方面应该没有问题..如果您对此感到担忧,那么您需要编写一些内容来解密密码所在的 MD5 标头信息。

using(PrincipalContext prContext= new PrincipalContext(ContextType.Domain, "Your Domain"))
{
    bool isValid = prContext.ValidateCredentials("Username", "Password");
}
于 2013-02-20T15:36:23.313 回答