ユーザーが内部 ASP.NET 4.0 アプリケーションの Active Directory (AD) グループのメンバーであるかどうかを判断しようとしています。以下のコードは、ユーザーが AD グループのメンバーでない場合に、最後の行 (return ステートメント) で「アンロードされた appdomain にアクセスしようとしました」という例外エラーをスローします。
public static bool IsInADGroup(string userName, string groupName)
{
var principalContext = new PrincipalContext(ContextType.Domain);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, userName);
if (userPrincipal == null)
return false;
GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(principalContext, groupName);
if (groupPrincipal == null)
return false;
return userPrincipal.IsMemberOf(groupPrincipal);
}
修正方法またはその他の回避策に関するアイデアはありますか?