1

我正在使用 Visual Web Developer Express(临时)使用 1.0 版本构建一个 ASP.NET MVC 应用程序。我正在使用 SqlMembership Provider 和表单身份验证来处理站点的安全性。我的站点安全要求用户在看到任何内容之前先登录——除了登录页面本身之外,没有匿名用户页面。

我更改了 global.asax.cs 中的路由,如下所示:

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

我在我的本地 IIS (Windows XP) 上发布了该应用程序并点击了虚拟目录,如下所示: http://mymachinename/App/。我按预期被定向到登录(帐户/登录)页面。但是,在使用新用户帐户成功登录后,我被重定向到主页/索引而不是患者/搜索。Home 控制器和 Index 视图仍然存在于应用程序中,因为我还没有删除它们(我们可能决定将主页显示为应用程序的第一页)。

我即将从项目中删除 Home 控制器和相关视图,因为我已经尝试了许多其他事情,包括从头开始干净发布、重新启动 Web 服务器和清除我的浏览器缓存。但是我很好奇为什么会发生这种情况,因为我在我的任何项目文件中都找不到对 Home/Index 的任何其他引用,包括 global.asax.cs 和 web.config。有人有什么想法吗?

谢谢。

4

1 回答 1

0

主页/索引是否有可能被定义为 web.config 中的 defaultUrl?

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" 
        defaultUrl="~/Home/Index" />
</authentication>
于 2009-04-24T15:30:37.267 回答