MVC3とWindows認証Webアプリケーションを実行しています。 IIS6に展開すると、認証を必要とするページに到達するまで動作します。その後、アプリケーションにトレースがなく、web.configがWindows認証に構成されている場合、/ Account/Loginに自動リダイレクトされます。
何か案は?
ここに私のweb.configファイル全体があります: http://pastie.org/156851
アプリケーションのbinディレクトリにWebMatrix.Data.dllおよび/またはWebMatrix.WebData.dllがデプロイされているかどうかを確認します。それらが存在する場合(使用しないことがわかっている場合)、それらを削除して、認証が必要なページにアクセスしてみてください。
In RTMに追加しようとする<appSettings>
in Web.config
:
<add key="enableSimpleMembership" value="false" />
(Thx to ASP.NET MVC 3 BetaでWindows認証のみを使用する問題 。)
これをappSettings(web.config)に追加して、ログインURLのWebMatrix.dllのデフォルトを上書きしてみてください:
<add key="loginUrl" value="~/Account/LogOn"/>
このキーが設定ファイルで設定されていない場合、WebMatrix.dllはログインUrlを/ Account/Loginに設定します...
In RTM Web.configに追加してみてください。
<add key="enableSimpleMembership" value="false" />
上記の投稿は動作します。 +1このキーを追加しますbeforeデプロイ可能な依存関係を追加します。
MVC4プロジェクトでも同じ問題が発生しました。匿名認証が完全に無効になっているのは自分のプロジェクトだけなので、Windows認証は常に必要です。
BinフォルダーにWebMatrix。*がありません。autoFormsAuthenticationキーとenableSimpleMembershipキーをappSettingsに追加してもうまくいきませんでした。
代わりに、私は以下をコメントアウトする必要がありました:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
そして、これに置き換えます:
<authentication mode="Windows" />
それはトリックをしました。
NopCommerce 2.65を使用していて、この問題がありました。
WebMatrix.Data.dllもWebMatrix.WebData.dllもbinフォルダにデプロイしていませんでしたが、追加しました
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false" />
web.configでそれを解決しました。
IISのすべての認証設定が正しいことを確認してください。
私にとって、/ Account/Loginにリダイレクトされたアプリケーションは、匿名認証が有効になっているサイト内で実行されていました。サイトでこれを無効にし、アプリケーションで(Windows認証と一緒に)有効にした後、大丈夫でした。
AppSettings(web.config)にこれを追加することで、「MVC + IIS 7 "でのlogin.aspx urlリダイレクトの問題」をオーバーライドする別の方法:
<authentication mode="Forms">
<!--<forms loginUrl="~/Account/Login" timeout="2880" />-->
<forms loginUrl="~/Home" timeout="2880" />
</authentication>
...これで問題は解決しました
このように修正しました
1)IISに移動します
2)プロジェクトを選択します
3)[認証]をクリックします
4)[匿名認証]> [編集]をクリックし、[特定のユーザー]ではなく[アプリケーションプールID]を選択します。
5)完了。
これは非常に古い投稿です。しかし、MVC 4からMVC 5へのアップグレードで tutorial を実行した後、これに出くわしました。だから、他の誰かが私がミスをした場合に備えて、それを投げています。私の問題は、参照をアップグレード中に誤って「Microsoft.AspNet.WebPages.WebData」をプロジェクトに追加したことです。
「Uninstall-Package Microsoft.AspNet.WebPages.WebData」を実行すると、以前の栄光に対する認証が復元されました。
4.6フレームワークのMVCでは、これは2つの方法で行われます。最初の方法はWeb.Configで行われ、2番目の方法はプロジェクトファイルで行われ、IIS Express :
<PropertyGroup>
..
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
</Property
開発時にWindows認証を無効にし、匿名を使用しますが、アプリケーションの展開には使用されません。
サーバー上のIISに移動し、認証モードに入り、フォーム認証を無効にすることもできます。
これにより、デモで頭を悩ますことがあります。恥ずかしい。