MVC站点 - 确保默认条目视图始终正确

时间:2010-04-20 10:09:03

标签: c# asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing

我有一个带有AD授权的MVC网站。这一切都很好。我将网站发布到网络服务器并直接调用该网站(http://intranet)。如果我还没有登录一段时间(我有一个30分钟TTL的授权cookie),我会被提示登录,如果成功,我会被重定向到homeController的索引视图。这很好,正如预期的那样。

如果我保持会话打开(浏览器打开)并远离网站浏览,如果我然后浏览回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
        );
    }

2 个答案:

答案 0 :(得分:0)

您的默认路线是什么样的?它应该是你的路线中指定的默认控制器/动作。

答案 1 :(得分:0)

已修复重定向