.NET(C#)でMS AD(Active Directory)認証を試してみた。
ADはWindows2008 R2にデフォルトインストール
サンプルアプリはWEBサイトとしてプロジェクトを作成
private Boolean auth01()
{
Boolean flg = false;
try{
String adPath = "LDAP://ドメイン(ホスト名は含まない)";
String domainAndUserName = "ドメイン\\ユーザ";
String password = "ぱすわーど";
//ADに接続できれば、例外は発生しない模様(Pathがあっていれば)
DirectoryEntry entry = new DirectoryEntry(adPath, domainAndUserName, password);
//ここでLdap認証が入る(Exceptionが発生しなければ成功
Object obj = entry.NativeObject;
指定したユーザ、パスに合致するユーザ(データ)が存在しないとここで例外が発生
)
flg = true;
}
catch
{
flg = false;
}
return flg;
}
注意
ADからDNSにレコード書き込みが必要。また、DNSがADを認識している必要がある。
ADがDNSと同居している場合、認証を実施するアプリのマシンのDNS参照設定に
AD(DNS同居)を指定しておく必要がある。
一般的な企業IPがDHCPになっていて、DHCPが参照対象のDNS情報を持っているので
アプリのマシンのネットワーク設定を意識する必要はないはず
ADはWindows2008 R2にデフォルトインストール
サンプルアプリはWEBサイトとしてプロジェクトを作成
private Boolean auth01()
{
Boolean flg = false;
try{
String adPath = "LDAP://ドメイン(ホスト名は含まない)";
String domainAndUserName = "ドメイン\\ユーザ";
String password = "ぱすわーど";
//ADに接続できれば、例外は発生しない模様(Pathがあっていれば)
DirectoryEntry entry = new DirectoryEntry(adPath, domainAndUserName, password);
//ここでLdap認証が入る(Exceptionが発生しなければ成功
Object obj = entry.NativeObject;
指定したユーザ、パスに合致するユーザ(データ)が存在しないとここで例外が発生
)
flg = true;
}
catch
{
flg = false;
}
return flg;
}
注意
ADからDNSにレコード書き込みが必要。また、DNSがADを認識している必要がある。
ADがDNSと同居している場合、認証を実施するアプリのマシンのDNS参照設定に
AD(DNS同居)を指定しておく必要がある。
一般的な企業IPがDHCPになっていて、DHCPが参照対象のDNS情報を持っているので
アプリのマシンのネットワーク設定を意識する必要はないはず