我正在使用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而不是Patient / Search。 Home控制器和Index视图都仍然存在于应用程序中,因为我还没有删除它们(我们可能决定将主页显示为应用程序的第一页)。
我即将从项目中删除Home控制器和关联的视图,因为我已经尝试了许多其他的东西,包括从头开始的干净发布,重新启动Web服务器和清除浏览器缓存。但我很好奇为什么会发生这种情况,因为我在我的任何项目文件中找不到对Home / Index的任何其他引用,包括global.asax.cs和web.config。有人有什么想法吗?
感谢。
答案 0 :(得分:0)
主页/索引是否有可能被定义为web.config中的defaultUrl?
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880"
defaultUrl="~/Home/Index" />
</authentication>