MVC3をインストールするまでは正常に実行されていたWindows 2008/IIS7サーバーで実行されている内部ASP.NET Webformsアプリケーションがあります。
これで、リクエストは/ Account/Login?ReturnUrl =%2fにリダイレクトされます。
WebサイトはMVCではなくWebフォームです。これは内部専用サイトであるため、ルートフォルダーに対してWindows認証が有効になっています。
同じサーバー上にこの問題の影響を受けていない他のWebサイトがいくつかありますが、これはルートフォルダーがWindows認証に設定されている唯一のサイトです。
Web.configファイルのAppSettingsセクションに次の行を追加することで問題を解決しました。
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
このように修正しました
このページから大きく借用したMVC 4の回答を更新し、 フォーム認証セクションの構成に関するASP.NET MVCの問題 (および両方のページで回答)
<appSettings>
...
<add key="PreserveLoginUrl" value="true" />
</appSettings>
...
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="43200" /> <!--43,200 in minutes - 30 days-->
</authentication>
ただ削除
<authorization>
<deny users="?"/>
</authorization>
web.configファイルから
それは私のためにした
私の解決策は、タグを追加することでした
[AllowAnonymous]
登録ページのGETリクエストを介して。元々、私が管理していたコードにはありませんでした!
IISデフォルトページへの自動リダイレクトのリクエスト(default.aspx
またはログインページ)を解決しました]
web.config
ファイルのAppSettingsセクションに次の行を追加します。
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
これを解決するには、オプションdefaultURLにアプリケーションのパスを追加します
<forms loginUrl="/Users/Login" protection="All" timeout="2880" name="001WVCookie" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="/Home/Index" cookieless="UseCookies" enableCrossAppRedirects="false" />
Web.configを開き、変更します
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
に
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>
〜/ Default.aspxに変更します
いくつかのWCF SOAP=関連するものを既存のIISサイトに追加したため、この問題が発生し、サイトはweb.config認証リダイレクトを拒否しました。
リストにあるさまざまな修正を試みましたが成功せず、新しい奇妙なURLを長年使用していたURLにマッピングし直す作業を考案しました。
<urlMappings enabled="true">
<add mappedUrl="~/loginout.aspx" url="~/Account/Login"/>
</urlMappings>
うまくいきましたが、見苦しいです。最終的には、Visual Studioによって少し前に追加されたweb.configエントリにたどり着きました。
<add key="webpages:Enabled" value="true" />
私たちはそれが何をするのか正確に解決できなかったので、それを取り出し、問題をすぐに解決しました。
これに注意してください:
RegisterGlobalFilters(GlobalFilterCollection filters) {
filters.Add(new System.Web.Mvc.AuthorizeAttribute());
}
ドレサス-あなたは私のためにそれを解決しました。本当にありがとう。
AccountControllerでは、ログインは次のようになります。
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
同様のセットアップ、同一の問題。一部のインストールは機能しますが、フォーム認証を使用していない場合でも、ほとんどの場合、ログインに成功すると/ Account/Login?ReturnUrl =%2fへのリダイレクト(http 302)が開始されます。私の場合、他のすべてを試した後、解決策は、アプリケーションプールマネージドパイプラインモードを統合モードからクラシックモードに切り替えることで、すぐに問題を解決しました。
4時間後、すべてを試してみました... Windows 2008 R2では、ファイルはWindow Explorerで緑色でした。これらのファイルは、Zipファイルからの暗号化およびアーカイブ用にマークされていました。ファイルプロパティのこれらのオプションをオフにすると、問題が修正されました。
何も機能しない場合は、Web.Configファイルのsystem.web属性に認証モード= "Windows"を追加します。それがあなたのために働くことを願っています。