USERIDがActive Directoryに存在するかどうかを確認するにはどうすればよいですか。
LDAP文字列とユーザーIDがありますが、そのユーザーIDがActive Directoryに存在するかどうかを確認できますか。これをASP.NET Webアプリケーション(.NET 3.5)に使用しています
(ドメインを認証対象のドメインに置き換えるか、パラメーターを完全に削除する)の手順に従って何かを行うことができます。
public bool DoesUserExist(string userName)
{
using (var domainContext = new PrincipalContext(ContextType.Domain, "DOMAIN"))
{
using (var foundUser = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName))
{
return foundUser != null;
}
}
}
ユーザーが存在するかどうかを確認するため。これはSystem.DirectoryServices.AccountManagement
名前空間とアセンブリ。
詳細は http://msdn.Microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx にあります。
PrincipalContextには、ユーザーの資格情報などを認証するための興味深いメソッドがあるため、さらにチェックすることをお勧めします。
System.DirectoryServices.AccountManagement
名前空間。
string UserID = "grhm";
bool userExists = false;
using (var ctx = new PrincipalContext(ContextType.Domain))
{
using (var user = UserPrincipal.FindByIdentity(ctx, UserID))
{
if (user != null)
{
userExists = true;
user.Dispose();
}
}
}
詳細は http://msdn.Microsoft.com/en-us/library/bb344891.aspx を参照してください