2009-04-24 39 views
1

我建立使用1.0版本使用Visual Web Developer速成(臨時)的ASP.NET MVC應用程序之後。我正在使用SqlMembership提供程序並形成身份驗證來處理站點的安全性。我的網站安全性要求用戶在查看任何內容之前先登錄 - 除登錄頁面本身外,沒有匿名用戶頁面。ASP.NET MVC驗證的用戶被引導到路線錯誤登錄

我已經改變改變了路線在我的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而不是患者/搜索。家庭控制器和索引視圖都仍然存在於應用程序,因爲我尚未將其移除(我們可能會顯示一個主頁,應用程序的第一頁)。

我即將從項目中移除家庭控制器和相關的意見,因爲我已經嘗試了一些其他的東西,包括一個乾淨從頭公佈,重新啓動Web服務器並清除我的瀏覽器緩存。不過我很好奇,爲什麼,因爲我無法找到任何我的項目文件,其中包括的global.asax.cs和web.config中的任何其他參考首頁/指數,這可能發生。任何人有任何想法?

謝謝。

+0

您在Global.asax.cs中有幾條路線? – rguerreiro 2009-04-24 15:33:09

回答

0

是否有家庭/指數在web.config中定義爲defaultUrl任何機會呢?

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880" 
     defaultUrl="~/Home/Index" /> 
</authentication> 
+0

謝謝你,cagdas,你讓我走上了正確的道路。雖然沒有指定defaultUrl是,該項目創建時所產生的帳戶控制器上的註銷動作包含一個RedirectToAction(「指數」,「家庭」)。作爲管理員登錄並使用應用程序通過我的管理界面創建用戶後,我必須嘗試以新用戶身份登錄,然後註銷。因此登錄屏幕被設置爲重定向到/ Home/Index。我沒想過要檢查控制器。謝謝! – 2009-04-24 15:39:48