2013-01-17 45 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> 
    

所在窗體元素提供正確的開始頁面。

要麼工作。後者似乎更適合我。