質問

IIS 6.0 で正しく動作する Web サイトがあります。Windows 資格情報を使用してユーザーを認証し、DB にアクセスするサービスと通信するときに資格情報を渡します。

IIS 7.0 では、同じ構成設定では資格情報が渡されず、DB は NT AUTHORITY\ANONYMOUS でヒットします。

何か足りないものはありますか?IIS 7.0 Web サイトで ANONYMOUS アクセスをオフにしましたが、機能しません。

これらは、IIS 6.0 と 7.0 の両方で使用している設定です。

<authentication mode="Windows">
<identity impersonate="true">

6.0 から 7.0 への変更点は何ですか?

役に立ちましたか?

解決

IIS7 と IIS6.0 の間には変更がありました。実際に役立つかもしれないブログ投稿を 1 つ見つけました (ここをクリックしてご覧ください).

アプリケーションを統合モードで実行していますか? それともクラシック モードで実行していますか?私が見たところ、Impersonate 属性を true に設定すると、次のエラー メッセージとともに 500 エラーが表示されるはずです。

内部サーバーエラー。これはHTTPエラー500.19です:ページの関連する構成データが無効であるため、要求されたページにアクセスできません。

提案されている回避策は次のとおりです。

回避策:

1)アプリケーションがBegineRequestおよびAuthenticaterequestの段階でリクエストユーザーになりすましていることに依存していない場合(統合モードではなりすましが不可能な唯一の段階)、アプリケーションのweb.configに次のエラーを追加してこのエラーを無視します。

<validation validateIntegratedModeConfiguration="false"

/>

2)アプリケーションがbeginrequestとAuthenticaterequestのなりすましに依存している場合、または確信が持てない場合は、クラシックモードに移動します。

IIS 7.0 がどのように動作するかを理解するのに役立つことを願っています。

他のヒント

IIS サーバーは、SQLServer による委任に対して信頼されるように設定されていますか?以前、WebDAV でこの問題に遭遇したことがあります。その場合、ファイル サーバーに代わって認証するには、IIS を実行しているサーバーがファイル サーバーによって信頼されている必要がありました。

面白い...逆の問題があります - できないこと 認証をクライアント ブラウザから Web サーバーを経由して、ファイアウォールを介して大規模な企業ネットワーク内のデータベースに渡すために取得します。

また、データベースに対する「エンドツーエンドユーザー」認証は悪い考えであり、潜在的なセキュリティリスクであるとも感じています。エンド ユーザーが SQL クエリをロードしてデータベースに直接接続することを妨げるものは何もないため、スキーマをロックダウンした方がよいでしょう。

@エステバン - 私のことを明確にしました あなたを助けるのにはあまり役に立ちません 答え。

通常、このようなダブルホップ認証を行う場合、最初の認証が Basic でない限り、Kerberos が関与します。

IIS 6 サーバーの認証をチェックし、IIS 7 でも同じであることを確認します。

IIS 6 ボックスが Windows Integrated に設定されている場合は、SPN、委任などの Kerberos 設定を確認する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top