2013-01-17 43 views
2

我做了以下内容:VS2012 MVC 4.0联网项目失败

创建VS 2012与Intranet的模板MVC 4.0应用程序,切换WindowsAuthentication上。 项目可以启动并显示主页。

然后我在参考WebMatrix.WebData下添加并设置Copy Local true。

开始,然后应用程序返回404错误指示请求的URL:/login.aspx

奇怪,不是吗?

我想使用SimpleMembership提供程序,但如果我甚至不能引用DLL,这不说服我。

任何人都可以帮我吗?

回答

1

MVC4 Intranet工程模板提供一个web.config有:

<authentication mode="Windows" /> 

出于某种原因,未知对我来说,只是增加了微软ASP.Net Web页2 NuGet包从MVC 4联网生成的Web应用程序项目模板更改整个应用程序的路由行为,以便在没有指定控制器/操作时/login.aspx成为默认路由。

这是为表单验证定义的defaultUrl默认值, 有关详细信息,请参阅forms-Element definition

以下两个旁路工作:

  1. 更改路线图通过添加类似

    routes.MapRoute(
         name: "LoginRedirect", 
         url: "login.aspx/{action}/{id}", 
         defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
        ); 
    

    到路由表中。

  2. 修改web.config中包含

    <authentication mode="Windows"> 
        <forms loginUrl="~/Home/Index" defaultUrl="~/Home/Index"/> 
    </authentication> 
    

所在窗体元素提供正确的开始页面。

要么工作。后者似乎更适合我。