我正在创建一个PrincipalContext对象,用于从AD数据库中检索用户的组(我们使用这些身份验证来验证网站的各个部分)。使用Windows身份验证创建PrincipalContext
这习惯使用窗体身份验证来完成,所以代码看起来是这样的
PrincipalContext pc =
new PrincipalContext(ContextType.Domain, "domain.com", username, password);
UserPrincipal usp =
UserPrincipal.FindByIdentity(pc, IdentityType.Guid, user.Guid.ToString());
foreach (var group in usp.GetGroups())
{
// Add group to collection
}
然而,我们最近切换到Windows身份验证,我不再能够访问用户的密码。
如何使用当前用户的凭据搜索AD数据库?我试过使用模拟,但它在FindByIdentity
行上抛出An operations error occurred
错误。如果我忘记了所有身份验证,我只限于返回的组数。
当你说现在的用户,你的意思是用户运行该exe文件? – Botonomous
@Anon对不起,我应该提到这是一个asp.net内联网站点。我的意思是用户浏览网页。 –