Jaa


.NET Framework 1.1 から移行したら、認証に失敗する!

急激な温度の変化に、体調を崩されている方も多いのではないでしょうか。
私たちサポートエンジニアも、お客様にご迷惑をかけないように体調管理に気をつけております。

弊社のActive Directory 以外のLDAP へのアクセスを行う際に、DirectoryEntryを使った
実装のプログラムを作成している かつ Visual Studio 2003 から 2005 以降のバージョンへ
移行を考えていらっしゃる方には、注目の記事です!

Visual Studio 2003 から Visual Studio 2005 以降にプログラムを移行した場合に使用される
.NET Framework についても移行対象となります。

Visual Studio と .NET Framework の対応について
  ・Visual Studio 2003 => .NET Framework 1.1
  ・Visual Studio 2005 => .NET Framework 2.0
  ・Visual Studio 2008 => .NET Framework 3.5

DirectoryEntry クラスは、.NET Framework クラス ライブラリの、System.DirectoryServices 名前空間にて
提供されているクラスとなります。そのため、Visual Studio 2003 から移行した場合、DirectoryEntry クラスの
挙動についても 対応する.NET Framework の変更内容に従います。

 移行後、認証に失敗するといった場合には、以下の情報を元に考えていきます。
以下の情報から、認証に関するプロパティの値の規定値が変更になっていることが確認できます。

DirectoryEntry.AuthenticationType プロパティ
https://msdn.microsoft.com/ja-jp/library/system.directoryservices.directoryentry.authenticationtype(VS.80).aspx

 解説
.NET Framework 2.0 より前の既定値は None です。.NET Framework 2.0 からは、既定値は Secure です。

同一のコードなのに、認証エラーになってしまうという場合にご参考にしていただければ幸いです。

移行の観点としては、明示的な値を指定していない場合、使用するクラスのプロパティの規定値を確認する必要があります。
プロパティの値をひとつづつ検証するのは大変かとは思いますが、現存するプログラムの動作を再確認するためにも、
規定値になにが設定されていて、動作するのか一度考え直すいい機会かもしれませんね。

-- ひろと --