2010-04-20 19 views
0

我有一個MVC網站與AD授權。這一切工作正常。我將該網站發佈到網絡服務器並直接致電該網站(http://intranet)。如果我還沒有登錄一段時間(我有一個30分鐘的TTL授權cookie),我會提示登錄,如果成功,我會重定向到homeController的索引視圖。這很棒,和預期的一樣。MVC網站 - 確保默認輸入視圖始終正確

如果我保持會話打開(瀏覽器打開)並瀏覽網站,如果我然後瀏覽回到http://intranet,我沒有挑戰,因爲我最近已經過身份驗證,但默認頁面來自不同的控制器,而不是主頁視圖。

我該如何阻止這種情況發生?它不能成爲一個會話設置,因爲這不是一個新的會話,並且路由看起來是正確的 - 無論如何它們都不會被調用。

請MVC大師的建議....!

註冊路線區塊如下:

public static void RegisterRoutes(RouteCollection routes) 
    { 
     // standard MVC route regsitration 

     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "PaginatedTimesheets",             // Route name 
      "{controller}/{action}/{page}/{view}",         // URL with parameters 
      new { controller = "Timesheets", action = "Index", page=0, view=0 } // Parameter defaults 
     ); 

     routes.MapRoute(
      "Default",            // Route name 
      "{controller}/{action}/{id}",       // URL with parameters 
      new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
     ); 
    } 

回答

0

什麼是你的默認路由是什麼樣子?它應該轉到您的路由中指定的默認控制器/操作。

+0

我確定它是正確的 - 我已將RegisterRoutes方法附加到原始註釋。 – Klaptrap 2010-04-20 14:33:05

+0

去哪裏?/Home還是/ Timesheets?你想要去哪裏? – Jab 2010-04-20 15:40:23

+0

必須將default.aspx放入根目錄,並將重定向放入MVC應用程序中。適用於本地服務器,但不適用於IIS服務器 - 不在IIS7/.NET4中搜索問題。 – Klaptrap 2010-04-21 09:25:08