2011-06-22 4 views
16

私はここで完全に迷っています。これはより早く動いていた。フォーム認証を使用するMVC3アプリケーションがあります。FormsAuthentication LoginUrl

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

しかし、リダイレクト、またはFormsAuthentication.LoginUrlをチェックする際に、そのはまだデフォルト/アカウント/ログインを使用して、いくつかの理由のために:ウェブの設定では、私は次のように持っています。存在しないこれを上書きするweb.configはなぜですか?あなたのweb.configappSettingsにこれを追加すること

+0

これ以上の情報はありませんか?それが働いていたときに何が設定されましたか?それ以来何が変わりましたか? – dkarzon

+0

それは働いていたときと同じものに設定されていました。何十もの変更が加えられ、アプリは依然として重視されています。しかし、これに影響を与えた変更はありません。私は、web.configからその値を取っていないので、formauthentication.loginurlの値が設定されていたにもかかわらず、見つけようとしています。 – Tyrsius

+0

@Tyrsuis - Fiddlerをチェックして、謎のリダイレクトが行われていることを確認します。次に、アクションフィルタ、グローバルフィルタ、グローバルasaxなどをチェックして、リダイレクトをハイジャックしているコードがあるかどうかを確認します。 web.config.debugとweb.config.releaseをチェックしましたか? – RPM1984

答えて

34

試してみてください。

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

ありがとうございます。どうしてこれなの?他の方法がうまくいかないことは奇妙に思えます。 – Tyrsius

+1

私はこれをネット上でどこで見つけたのか分かりませんが、既知の問題のセクションの下で、MVC3のリリースノートにそのことが言及されています。 – frennky

+1

まだMVC4の問題であるようです。ありがとうfrennky! –

0

は、私はまた、これらの問題を持っていたし、それだけで私は、展開のアセンブリを追加したとwebmatrix.dllを添加した場合に起こりました。つまり、プロジェクトのどこにも指定されていないアカウントコントローラにリダイレクトしようとしたときです。

一度webmatrix.dllを削除すると、すべてが意図どおりに機能しました。

+1

これを遭遇した他の人のために:WebMatrixはフォーム認証のURLを引き継ぎます[ここ](http://stackoverflow.com/questions/13321843/) asp-net-mvcアプリケーションのような、現在のアプリケーション設定キー設定値) appsetting-key = "PreserveLoginUrl" value = "true"を追加することで、意図したログインルーティングを維持することができます。 –

関連する問題