2009-08-11 13 views
3

私はC#で書かれたWCFサービスを、ローカルマシンの管理者アカウントとして実行されているリモートマシンでホストしています。アクティブなディレクトリユーザーとしてログインしているマシンから、ネットワーク上のファイルを開くように指示するコマンドを送信しています。ファイルにアクセスできますが、ホストマシンの管理者アカウントはアクセスしません。私は偽装を必要とするメソッドで[OperationBehavior(Impersonation = ImpersonationOption.Required)]メタタグを使用しており、資格情報のタイプとセキュリティモードが正しく設定されています。アカウントが実際にWindows IDを比較して偽装しようとしていることを確認できますが、まだアクセス拒否例外が発生します。私はそれが偽装されたユーザーを認証していないアクティブなディレクトリと関係があると思っています。私は行方不明のものがありますか?リモートマシンで偽装を使用してファイルを開くことができないのはなぜですか?

+0

これは偽装ですか? –

+0

私は本当にそれを望んでいる、私はファイルを得ることを考えることができる唯一の他の方法は、それらをシリアル化することです。私はそれが実行することができるダミーのアカウントを得ることができるかもしれません... – MGSoto

答えて

5

Kerberosセキュリティと2つのホップ認証ドメインを入力しています。

  • は赤い丸薬を取る:2つのホップ認証作業を取得しよう
    2つのオプションがあります。少なくともWindows Server 2003ドメインを持っていることを確認してください。すべてのマシン間で適切な同期をとり、speficユーザー/コンピュータアカウントの適切な委任を設定してください。本当に "運が良ければ" SetSPNでSPNを設定する必要があります。

  • ブルーピル:2つのホップ認証を忘れて、十分な権限を持つアカウントでWCFサービスを偽装し、前の手順で承認を確認します。

私の欲求不満を許していますが、私はこのトピックの私の短い経験が少なくとも私の人生の10年を要したと思います。私はそれが誰にも起こるのを見たくないのです。とにかく、この投稿は、あなたが勇気を感じているならば十分なGoogleキーワードを与えるはずです。

イベントログとネットワークモニタは、デバッグに便利です。

+0

Hmmm。私はWebDAVをデリゲーションを使ってセットアップしました。私たちはすでにServer 2003ドメインに参加していた可能性があります。実際の設定を行うにはWindows管理者がいます。 – tvanfosson

+0

これは既に必要以上に面倒なことになっていますが、私は同意します。Kerberos認証に対処する必要はありません。簡単な方法でアクセスを制限してアプリケーション固有のユーザーを作成しているように見えます。 – MGSoto

1

おそらく、Webサーバーからファイルサーバーに委任を設定する必要があります。これにより、Webサーバーが検証した資格情報をファイルサーバーが信頼できるようになります。アプリケーションの委任を設定する方法については、MSDN articleを参照してください。特に、ADの設定に関するセクションを参照してください。

+0

これは実際に管理されたアプリケーションのシナリオですが、私はおそらくADサーバーは偽装を許可しないと思いますか? – MGSoto

+0

@MGSあなたのWebサーバーは、ユーザーの代わりに委任するためにADによって信頼されなければなりません。信頼されていない場合、動作しません。 – Will

関連する問題