1

ユーザー認証のために、(C#/.NET を使用して) ファイアウォールの背後にあるリモート LDAP サーバーにアクセスする必要があります。

リモート サイトのファイアウォールは特定の IP アドレスを許可するように設定されていますが、それはサーバーのプライマリ IP アドレスではありません。つまり、デフォルトでは、リモート LDAP サーバーへの接続にはプライマリ IP が使用されます。

.NET で LDAP にセカンダリ IP アドレスを使用させるにはどうすればよいですか?


特にSystem.DirectoryServices.DirectoryEntryandSystem.DirectoryServices.AccountManagement.PrincipalContextクラスを使用していますが、ローカル エンドポイントを制御する方法がわかりません。

これは、TcpClient を使用してローカル IP アドレスにバインドする方法です。

using System.Net;
using System.Net.Sockets;

IPEndPoint localEndpoint = ...get relevant local ip address that needs to connect
TcpClient tcp = new TcpClient( localEndpoint );
...do stuff with tcp client

注意: この場合、サーバーのプライマリ IP アドレスは変更できません。

PS: ここでは「バインド」という言葉をローカル エンド ポイントへのバインドを意味するために使用していますが、LDAP ではディレクトリへの接続/認証に「バインド」という言葉を使用します。

4

1 に答える 1