C# LDAPSで Active Directory に接続

★★★ お知らせ ★★★

◆ Cassandra Dayに登壇 6/1(木) ◆
6月1日開催のイベント Cassandra Day - Tokyo に当社のエンジニアが登壇します!
今回「Cassandra適用のポイントと実案件での苦労話」と題して、RDBMSでは実現困難であった顧客要件をCassandraで簡単に実現できる実例を踏まえて、その適用のポイントをわかりやすく解説します。
⇒ イベント詳細はこちらから

◆ 6月のPS Liveは決済サービスStripeのデモ!◆
決済サービスのStripeでサブスクリプションの支払い機能を作ってみた
Stripeの機能の一部を切り出して、簡単なサブスクリプションを作るとどうなるのかを、デモをまじえてご紹介します。
⇒ 詳細はこちらから

◆【セミナー開催】 可視化ツールGrafana~初めてのダッシュボード作成◆
デモンストレーション付き!
本セミナーでは、売上データを用いて、4種類のパネル作成方法をお見せします。
⇒ お申込みはこちらから

◆ エンジニア業務環境アンケート結果 ◆
エンジニアが自分の働き方にどういったことで満足していて、不満を感じているのか、働きたい会社像として何を求めているのか、業務環境調査を実施しました。ぜひご覧ください。
⇒ アンケート結果はこちらから

こんにちは。サイオステクノロジーの木村です。

今回は、C#にて、LDAPSでActive Directoryに接続する方法をご紹介します。

(Active DirectoryをLDAPS化する方法についてご興味のある方は、こちらの記事をご参照ください。
 Active Directory LDAPS(LDAP over SSL/TLS)有効化

LDAP接続

まずはLDAPで接続してみます。
C#にて、Active Directoryに接続するには、System.DirectoryServices.DirectoryEntryクラスを使います。
Active Directoryに接続してユーザーを検索し、取得した情報を表示する実装は以下のようになります。
(接続先、クライアントを認証するときに使用するユーザー名・パスワードの部分を、接続する環境に合わせて読み替えてくください。)

パケットのキャプチャをとってみてみると、LDAPで接続されていることがわかります。

LDAPS接続

では次にLDAPS接続です。
LDAPS接続の場合でも、コードの実装は上記LDAPの時と一緒です。
LDAPS接続にする場合は、以下のように接続先URIにポート番号「636」をつけた形で指定します。
<例>
LDAP://adhost.example.com:636/OU=class1,DC=adhost,DC=example,DC=com

パケットのキャプチャをとってみてみると、LDAPSで接続されていることがわかります。

接続先URIにポートを指定しない場合は、デフォルトの389が使用されます。
636を指定することで、LDAPS接続となります。
ちなみに、LDAPS接続にする場合は、接続先のドメイン名と証明書のCommon Nameが一致していないと接続できないのでご注意ください。

アバター画像
About 木村
Azureなどのクラウドでの稼働を主としたアプリケーション開発を行なっています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

3人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる