2016-04-02 16 views
0

私はadfsを使用して認証する新しいasp.net Webアプリケーションを作成しました。私はこのウェブアプリケーションを使ってDynamics AXと話をしています。 Dynamics Axeの内部私はクラスとサービスを作成し、それらをDynamics AX内のIISへの「インバウンドポート」として公開しました。 Visual Studio内のサービス参照を公開されたサービス(https経由で、ドメイン資格情報の使用が必要)に追加できます。 サービス参照が正常に動作し、私は自分のアプリケーションには、以下を使用してダイナミクスAXに話すことができます。Dynamics AXへのadfsログインの転送

ServiceTestClient client = new ServiceTestClient(); 
client.ChannelFactory.Credentials.UserName.UserName = @"domain\user"; 
client.ChannelFactory.Credentials.UserName.Password = @"password"; 

すべては、このようにうまく動作しますが、私が読んで、AXへ/から書き込むことができます。 しかし、私はもちろん、私がadfsを介してアプリケーションにログインしたときに既に入力した認証情報を使用したいと思います。 しかし、私の問題は、どうやってそれをするのか本当にわからないということです。取得したクレームやトークンをDynamics AXに転送するにはどうすればよいですか?

私は現在、AXの内部で使用しているバインディングとclientCredentialtypeを変更する必要があると確信しています。 私は、Visual Studio内のサービス参照を追加すると、私はweb.configファイル内で以下のようになります。

<basicHttpBinding> 
    <binding name="serviceEndpoint"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Basic" /> 
     </security> 
    </binding> 
    <binding name="BasicHttpBinding_ServiceTest"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Basic" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 

そこで問題は、私はAXの内部で使用する必要があり、結合およびclientcredentialtypeの種類、ありますか? また、作成したクライアントにadfsトークン/資格情報を追加するにはどうすればよいですか? おそらく私は何をすべきかを完全に誤解しています。もしそうなら、正しい方向へのポインタを喜んで受け入れるでしょう。

答えて

0

回答が必要な人は、httpsバインディングと話す権利を持っているが、DAXにアクセスできない中間ユーザーをAD/DAXで作成しました。次に、adfsトークンから取得したユーザーにコールコンテキストを設定します。

したがって、中間ユーザーの/ passはweb.configに格納され、adfsで認証されるユーザーはDax内でアクションを実行するユーザーです。

関連する問題