私が取り組んでいるプロジェクトは、ユーザーを認証するために顧客のActive Directoryと統合されます。私はユーザーのパスワードを取得するいくつかのコードを記述しようとしていましたが、Active Directoryはポート636のSSL接続を介してのみ関連するプロパティを公開することになります。C#:SSLを有効にしてActive Directoryに接続する方法
次のコードはSSLを使用せずにプログラムで接続します「がtは、パスワードのプロパティを参照してください。
static void Main(string[] args)
{
DirectoryEntry entry = new DirectoryEntry(@"LDAP://<IP>/CN=LDAP Test,CN=Users,DC=customer,DC=com");
entry.AuthenticationType = AuthenticationTypes.None;
entry.Username = "CN=LDAP Test,CN=Users,DC=customer,DC=com";
entry.Password = "<password>";
if (entry != null)
{
foreach (Object propName in entry.Properties.PropertyNames)
{
Console.WriteLine((String)propName);
}
}
}
私が述べた例外を取得し、SSLを使用するようにコードを変更すると、不明なエラー(0X80005000)」。
Active DirectoryをホストするサーバーでSSLを有効にし、同じサーバーにMicrosoft CAをインストールし、CAから証明書を取得しました。
Apache Directory Studioを使用してSSL経由でActive Directoryに接続できますが、パスワードのプロパティは表示されません。
次のコードは、私はSSLを使用して接続するために使用しようとしているものを示しています
static void Main(string[] args)
{
DirectoryEntry entry = new DirectoryEntry(@"LDAPS://<IP>:636/CN=LDAP Test,CN=Users,DC=customer,DC=com");
entry.AuthenticationType = AuthenticationTypes.SecureSocketsLayer;
entry.Username = "CN=LDAP Test,CN=Users,DC=customer,DC=com";
entry.Password = "<password>";
if (entry != null)
{
foreach (Object propName in entry.Properties.PropertyNames)
{
Console.WriteLine((String)propName);
}
}
}
私はどここれといくつかの援助で行くことにはわからないいただければ幸いです。
関連:http://stackoverflow.com/questions/287100/setting-up-ssl-in-active-directory-how-to/291826 –
ADAMよくある質問はここにある:のhttp:/ /www.microsoft.com/windowsserver2003/adam/ADAMfaq.mspx#EOD –
この質問のタイトルは、誤解を招くようなものです。「Active Directoryからユーザーのパスワードを取得するにはどうすればよいですか? 「SSLを有効にしてActive Directoryに接続する」とは何の関係もありません。 – Bratch