私は以前にADを使って認証していたMVC 5アプリケーションを持っています。 Windows認証の設定を削除し、ユーザーのデータベースに対して手動で認証するコードを追加しました。Windows認証を削除したときに、MVC5 AppからWindows認証のプロンプトが表示されるのはなぜですか?
問題は、AD認証ウィンドウが引き続きポップアップし、どのフォームにもアクセスするために有効な資格情報を入力する必要があることです。これは望ましくなく、期待されていたり、どこにいても見つけることができません。
どのメソッドコントローラにも承認タグはありません。私はまだどのフォームにもセキュリティを設定しておらず、設定の許可や拒否はしていません。なぜ私は、AD認証ウィンドウがすべてのフォームのためにポップアップしている理由を理解することはできませんし、私は私が再びポップアップせずに私のフォームを訪問することはできませんキャンセルをクリックします。
設定ファイル:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Account/Login" timeout="300" slidingExpiration="true" protection="All" />
</authentication>
を私は私のコントローラ、ビュー、およびグローバル/ statupは.csファイルを見てきました。今私に手がかりを見せてくれるものはありません。
コードスニペットを表示することはできますが、この時点で何が関連しているのかよくわかりません。以下は
applicationHost.configファイルの一番下(ライン1050)にあったIISExpress設定のための私のapplicationHost.configファイルであり、また正しく設定されるように見える...
<authentication>
<anonymousAuthentication enabled="true" userName="" />
<basicAuthentication enabled="false" />
<clientCertificateMappingAuthentication enabled="false" />
<digestAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="false">
</iisClientCertificateMappingAuthentication>
<windowsAuthentication enabled="false">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
<authorization>
<add accessType="Allow" users="*" />
</authorization>
IISでホストされていますか?そして認証モジュールはWindowsの認証をオンにしているだけですか? –
これは、デバッグ中にIIS Expressでホストされます。また、認証モジュールがインストールされているとは思いません。それは本当にかわいい骨です。 –
おそらく、Webアプリケーションの物理フォルダのACLアクセス権をチェックする必要があります。あなたのアプリケーションプールのアイデンティティが物理的なフォルダの読み取りアクセス権を持っていることを確認してください。 –