AD データベースからユーザーのグループを取得するための 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 データベースを検索するにはどうすればよいですか? An operations error occurred
偽装を使用してみましたが、行にエラーがスローされますFindByIdentity
。認証をすべて忘れると、返されるグループの数が制限されます。