2012-03-02 91 views
0

我正在IIS 7.5中運行ASP.NET MVC3 Web應用程序。IIS重定向到錯誤的登錄頁面

當請求一個頁面,要求身份驗證,瀏覽器應該被重定向到〜/帳號/ LogOn支持RETURNURL = ... 相反,瀏覽器重定向到:??帳戶/登錄RETURNURL。

在IIS中,我tripple檢查了身份驗證設置,但它們似乎是正確的。我重新啓動了服務器一百萬次,但沒有結果。

有誰知道如何解決這個問題?

+0

它在Visual Studio開發服務器上工作嗎? – Marthijn 2012-03-02 08:18:07

回答

1

把在web.config中的這個值應該做竅門

<appSettings> 
    <add key="loginUrl" value="~/Account/LogOn" /> 
    <add key="autoFormsAuthentication" value="false" /> 
</appSettings> 
+0

謝謝,這完美的技巧! – jkokorian 2012-03-02 12:21:29

+0

@jkokorian - 太棒了,很高興提供幫助 – Pelle 2012-03-02 13:13:49

0

你可以做的follwing:

添加從AuthorizeAttribute派生新類:

namespace CustomAuth 
{ 
    public class MyCustomAuth : AuthorizeAttribute 
    { 
     protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) 
     { 
      filterContext.Result = new RedirectResult("~/Account/LogOn"); 
     } 
    } 
} 

,然後將屬性添加到您的方法或控制器:

[MyCustomAuth] 
    public class HomeController : Controller 
    { 
     public ActionResult Index(int id) 
     { 
      return View(); 
     } 
    } 
+0

我想這會起作用,但似乎有點解決方法,應該不是必需的。 – jkokorian 2012-03-02 12:18:09