web-dev-qa-db-ja.com

ASP.NET MVC3およびWindows Auth IISは/ Account / Loginへのリダイレクトを続けます

MVC3とWindows認証Webアプリケーションを実行しています。 IIS6に展開すると、認証を必要とするページに到達するまで動作します。その後、アプリケーションにトレースがなく、web.configがWindows認証に構成されている場合、/ Account/Loginに自動リダイレクトされます。

何か案は?

ここに私のweb.configファイル全体があります: http://pastie.org/156851

57
Kevin Jensen

アプリケーションのbinディレクトリにWebMatrix.Data.dllおよび/またはWebMatrix.WebData.dllがデプロイされているかどうかを確認します。それらが存在する場合(使用しないことがわかっている場合)、それらを削除して、認証が必要なページにアクセスしてみてください。

147
Liam

In RTMに追加しようとする<appSettings> in Web.config

<add key="enableSimpleMembership" value="false" />

(Thx to ASP.NET MVC 3 BetaでWindows認証のみを使用する問題 。)

28
TN.

まだ問題があるかどうかはわかりませんが、追加してみてください

<add key="autoFormsAuthentication" value="false" />

appSettingsの下のweb.configに。 here および here によれば、これで問題が解決するはずです。

14
Dan Gardiner

これをappSettings(web.config)に追加して、ログインURLのWebMatrix.dllのデフォルトを上書きしてみてください:

<add key="loginUrl" value="~/Account/LogOn"/>

このキーが設定ファイルで設定されていない場合、WebMatrix.dllはログインUrlを/ Account/Loginに設定します...

9
WebMad

In RTM Web.configに追加してみてください。

<add key="enableSimpleMembership" value="false" />

上記の投稿は動作します。 +1このキーを追加しますbeforeデプロイ可能な依存関係を追加します。

3
Jeffrey Cho

MVC4プロジェクトでも同じ問題が発生しました。匿名認証が完全に無効になっているのは自分のプロジェクトだけなので、Windows認証は常に必要です。

BinフォルダーにWebMatrix。*がありません。autoFormsAuthenticationキーとenableSimpleMembershipキーをappSettingsに追加してもうまくいきませんでした。

代わりに、私は以下をコメントアウトする必要がありました:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

そして、これに置き換えます:

<authentication mode="Windows" />

それはトリックをしました。

3
Ber'Zophus

NopCommerce 2.65を使用していて、この問題がありました。

WebMatrix.Data.dllもWebMatrix.WebData.dllもbinフォルダにデプロイしていませんでしたが、追加しました

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false" />

web.configでそれを解決しました。

2
TeamDotNet

IISのすべての認証設定が正しいことを確認してください。

私にとって、/ Account/Loginにリダイレクトされたアプリケーションは、匿名認証が有効になっているサイト内で実行されていました。サイトでこれを無効にし、アプリケーションで(Windows認証と一緒に)有効にした後、大丈夫でした。

1
sourcx

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
davegeekgoliath

このように修正しました
1)IISに移動します
2)プロジェクトを選択します
3)[認証]をクリックします
4)[匿名認証]> [編集]をクリックし、[特定のユーザー]ではなく[アプリケーションプールID]を選択します。
5)完了。

1
Akiv

これは非常に古い投稿です。しかし、MVC 4からMVC 5へのアップグレードで tutorial を実行した後、これに出くわしました。だから、他の誰かが私がミスをした場合に備えて、それを投げています。私の問題は、参照をアップグレード中に誤って「Microsoft.AspNet.WebPages.WebData」をプロジェクトに追加したことです。

「Uninstall-Package Microsoft.AspNet.WebPages.WebData」を実行すると、以前の栄光に対する認証が復元されました。

0
Caffeinius

4.6フレームワークのMVCでは、これは2つの方法で行われます。最初の方法はWeb.Configで行われ、2番目の方法はプロジェクトファイルで行われ、IIS Express :

<PropertyGroup>
..
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
</Property

開発時にWindows認証を無効にし、匿名を使用しますが、アプリケーションの展開には使用されません。

0
Steef

サーバー上のIISに移動し、認証モードに入り、フォーム認証を無効にすることもできます。

これにより、デモで頭を悩ますことがあります。恥ずかしい。

0
Tash Wahid