現在のユーザーオブジェクトを取得し、資格情報を取得して、AX .NET Business Connectorへの接続に使用しているNetworkCredential
オブジェクトに渡すことができるかどうか疑問に思っていました。現時点では、NetworkCredential
オブジェクトをインスタンス化するときに設定した特定のユーザーとして接続するように指定する必要があります。
private NetworkCredential nc = new NetworkCredential("myUser", "myPassword", "myDomain");
私はprivate NetworkCredential nc = (NetworkCredential)HttpContext.User;
のようなことをしたいと思っていましたが、明らかにそれは機能しません...
そうすれば、たとえば、私が指定したユーザーによってすべてが作成されるように、どのユーザーが販売注文を作成したかを追跡しやすくなります。
CredentialCache.DefaultNetworkCredentials
?
DefaultNetworkCredentials
によって返される資格情報は、アプリケーションが実行されている現在のセキュリティコンテキストの認証資格情報を表します。クライアント側アプリケーションの場合、これらは通常、アプリケーションを実行しているユーザーのWindows資格情報(ユーザー名、パスワード、およびドメイン)です。
私はあなたの質問を完全には理解していませんが、資格情報が必要なASP.NETからの電話ですか?あなたが試みることができます:
Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");
ユーザーがメンバーシッププロバイダーを介して既に認証されていると仮定します。