5

あるドメイン(Domain1)にクライアントアプリがあり、別のドメイン(Domain2)のアプリサーバー上のWCFサービスにアクセスする必要があります(信頼なし)。ユーザーは、Domain2の資格情報をクライアントアプリに入力する必要があります。このWCFサービスは、Domain2の別のサーバー上のデータベースに接続する必要があります。

ChannelFactory.Credentials.Windows.ClientCredentialを使用して資格情報を渡します。ユーザーとアプリサーバー(dbサーバーもありますが、それは必要ないと思います)に対して委任を有効にしました。アプリの構成でサーバーとクライアントを委任用に設定しました。ただし、接続すると、アプリサーバーにアクセスしたときに偽装(委任ではなく)のみが使用されているようです。そのため、データベースから匿名アクセスエラーが発生します。

これは、ドメイン間でKerberos委任を使用できないことが原因である可能性があります。そこで、Domain2でクライアントアプリを実行しようとしましたが、同じエラーが発生しました。しかし、(ChannelFactory.Credentials.Windows.ClientCredentialを使用して)資格情報の設定を取得し、Domain2でクライアントを実行すると(ログインしたユーザーの資格情報を使用するため)、機能します。

おそらく、KerberosトークンをWCFサービスに渡していないが、ユーザー名とパスワードを渡していることが原因のようです。しかし、確かに、ユーザー名とパスワードをWebサービスに渡して接続し、そのドメインで認証できるはずですか?

私は周りを見回しましたが、ClientCredentialsを使用したクロスドメイン委任でこの問題を抱えている人は他に見つかりませんでした。

うまくいけば、誰かが私を助けることができます。

4

0 に答える 0