我有一個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
);
}
我確定它是正確的 - 我已將RegisterRoutes方法附加到原始註釋。 – Klaptrap 2010-04-20 14:33:05
去哪裏?/Home還是/ Timesheets?你想要去哪裏? – Jab 2010-04-20 15:40:23
必須將default.aspx放入根目錄,並將重定向放入MVC應用程序中。適用於本地服務器,但不適用於IIS服務器 - 不在IIS7/.NET4中搜索問題。 – Klaptrap 2010-04-21 09:25:08