.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情報を持っているので
アプリのマシンのネットワーク設定を意識する必要はないはず