4

IIS7(webadmin)上のWindows 2008 sererで実行されている従来のaspサイトからサーバー(web05)上のファイルに書き込もうとしています。これは失敗し、web05は保存操作の過程で匿名ログオンの試行をログに記録します。

Webadminのサイトは、プロセスアカウントとしてドメインユーザーを使用して、クラシックモードのアプリプールで実行されています。プロセスアカウントには、「このユーザーを任意のサービスへの委任について信頼する(Kerberosのみ)」という権限があります。同じことがweb05サーバーとwebadminサーバーにも当てはまります。

このサイトはWindows認証を使用しており、ドメインユーザーを使用してサイトにログオンする場合、ユーザーの権限によって、IISサイトのコンテキストで実行できる操作を定義する必要があります。基本認証をオンにすると、すべてが正常に機能します。

また、setspn.exeを使用してURLのSPNを追加しました。setspn.exe -L webadminと入力すると、次のようになります。

HTTP/webadmin.companyname.com
TERMSRV/webadmin
TERMSRV/webadmin.companypub.local
HOST/webadmin
HOST/webadmin.companypub.local

したがって、私が理解していることから、SPNは正しく設定されています。

保存操作の実行中にwebadminでprocessmonitorを実行すると、プロセスが実際にドメインユーザーになりすましていると表示されますが、「アクセスが拒否されました」(前に述べたように、web05は匿名ログオンの試行をログに記録します)。

これを引き起こす原因は何ですか?

よろしく、サイモン

4

3 に答える 3

4

あなたがなりすましについて少し混乱しているように私には聞こえます。このプロセスは、ドメインユーザーアカウントを偽装するのではなく、単にそのユーザーとして実行するだけです。違いがあります。

リクエストがASPに到着すると、ユーザーが偽装され、リクエストを処理するスレッドは、偽装されたユーザーのセキュリティトークンの下で実行されます。同じプロセスで、複数のスレッドで複数の異なるユーザーになりすますことは非常に可能です。匿名ユーザーアクセスが有効になっているほとんどの場合、このユーザーはゲストレベルのIUSRアカウントです。このユーザーの下でコードが実行しようとして失敗している可能性があります。

ただし、アクセスされているリソースに対して匿名がオフになっている場合、またはIUSRアカウントがリソースにアクセスできない場合は、401応答が返送され、受け入れる認証プロトコルが示されます。次に、ブラウザは、現在のユーザーのクレデンシャルを使用して接続の認証を試みるか、ユーザーにいくつかのクレデンシャルを要求する場合があります。

ファイルの保存方法を正確に指定していません。ただし、いくつか指摘する価値があります。

  1. その後アクセスが拒否される可能性のあるASPコードの実行では、上記のメカニズムを使用してユーザーを解決しようとはしません。
  2. 接続が認証されると、それは後続の要求に再利用され続けることがよくあります(これは、HTTPが「コネクションレス」プロトコルであるという知識に反直観的です)。
于 2010-02-02T12:50:06.153 に答える
0

以前の質問を整理しようとしています。この答えは上記の質問に答えるのに十分ではありませんが、私は、何もしないよりもいくつかの洞察を提供する方が良いと結論付けました。opが同意しない場合は、必要なアクションを実行してください。

これは帰り道ですが、このアプリでKerberos認証を実行したかったことを思い出します。問題は、ファイアウォールの外側でKerberosを実行しようとしたことであることが判明しました。アプリはサーバーのホームドメインのドメインとファイアウォール内で正常に動作しますが、外部からリクエストが来ると失敗します。

私はマイクロソフトのアイルランドの技術者と多くのチャットをしました、そして彼はKerberosを使用するときの制限について少し教えてくれました。Kerberosを使用したかった理由は、基本的なWindows認証が暗号化されていないという考えが気に入らなかったためです。

Kerberosクエストで頑張ってください:-)

于 2012-03-26T07:00:26.900 に答える
0

私はこれと同じ問題に遭遇し、それはアプリケーションプールへの単純な変更であることが判明しました。32ビットアプリケーションを有効にするがFALSEに設定されている場合、マシンにログインするためのプロンプトを受け取りました。この値をtrueに設定すると、問題が修正されました。

于 2012-04-04T13:26:59.827 に答える