Windows 2003 サーバー上の IIS 7 で .NET 3.5 アプリケーションを実行していますが、ログインを求めるプロンプトが引き続き表示されるため、統合 Windows 認証が正しく機能しません。IIS で Windows 認証を有効にし、他のすべてのセキュリティ タイプを無効に設定し、アプリケーションの web.config ファイルの認証/承認を次のように設定しました。
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="3.5" />
<authenticationmode="Windows"/>
<authorization>
<deny users = "?" />
</authorization>
</system.web>
この設定では、Windows ユーザーのバックグラウンド検証によってアクセスが許可され、匿名ユーザーは拒否されるはずです。しかし、サイトにアクセスしようとすると、Windows ログイン ポップアップが表示されます。
数日間この問題のトラブルシューティングを行っていますが、原因がわかりません。同様の問題に関する投稿に基づいて、URL にピリオドが含まれていないことを確認し、IE 設定が統合 Windows 認証を有効にするように設定されていることを再確認し、イントラネット サイトに URL を追加しましたが、それでもポップアップが表示されます。
さらにトラブルシューティングを行うために、IIS で匿名認証を有効にし、web.config ファイルを変更してログインできるようにし、Response.Write(System.Security.Principal.WindowsIdentifity.getcurrent().user.name.toString()) を追加して、認証でどのユーザーが使用されているかを確認してみました。結果は IIS APPPOOL\myapp で、これは明らかに私のアプリケーションの IIS アプリケーション プールです。
引き続き Windows 認証のみを使用しながら、ポップアップが表示されず、実際の Windows ユーザーに対して Windows 認証が実行されるように、どなたかが提供できる支援に本当に感謝します。
ありがとう。
さらにトラブルシューティングを行った後の追加メモ:
ログインに失敗し、Windows ログイン プロンプトが再度表示されるときに、ログインを試みたユーザー名が "SERVERNAME"\"USERNAME" として表示されることに気付きました。これは、サーバーとドメインを比較してユーザーを検証しようとしていると考えました。これを確認するため、ネットワーク ドメイン ユーザーと同じユーザー名とパスワードを使用して、アプリケーション サーバーに直接ローカル ユーザー アカウントを作成し、再度ログインを試みました。その結果、再度ログイン プロンプトが表示されましたが、今度はユーザー名とパスワードを入力すると、正常にログインできました。ネットワーク ユーザーとアプリケーション サーバーは同じドメインにあるため、IIS 認証がドメイン アカウントではなくローカル アプリケーション サーバー アカウントを指している理由がよくわかりません。現時点では、これは IIS に関する質問であることはわかっているので、forums.iis.net にも投稿しますが、何日もトラブルシューティングを続けてきたので、どなたかアドバイスをいただければ幸いです。
ベストアンサー1
私は現在 Windows 2008 サーバーで作業していますが、私の回答は Windows 2003 サーバーに関する OP の回答と完全に同じではありません。
私がやったことは次のとおりです (後で見つけられるようにここに記録します)。
私も同じ問題を抱えていました:
私のウェブ.configファイルには、次のセクションがありました:
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="*" />
<deny users="?" />
</authorization>
</system.web>
IISでは、これらすべてが次のように解決されるようです。認証アイコン。
- 編集権限: ASP.NET アカウントに権限があることを確認してください。私のアカウントは元々追加されていませんでした。
それでは、認証:
有効にする匿名認証とともにIUSR
:
有効にするWindows 認証右クリックして設定しますプロバイダー。
NTLM を最初にする必要があります。
次に、高度な設定...の拡張保護は受け入れるそしてカーネルモード認証を有効にするチェックされています:
これを実行すると、Web アプリケーションに戻り、[参照] リンクをクリックして、資格情報を再度入力せずにログインできました。
これが皆さんの多くにとって有益であることを願うとともに、私にとっても後々役立つことを願っています。