此前我有類似的問題。 我已經在家庭控制器上創建了asp mvc 默認模板項目並設置了authorization
屬性。 當我運行的應用程序網址是:用戶未通過身份驗證時的路由設置問題
http://localhost:48403/Account/LogOn?ReturnUrl=%2f
什麼,我試圖讓只是http://localhost:48403
當用戶沒有通過身份驗證,但我只是有reouting設置:( 我試圖把這個global.asax
但沒有運氣沒有運氣:
routes.MapRoute("Login", "",
new { controller = "Account", action = "LogOn" }
);
這是我的整個global.asax
routes.MapRoute("About", "About",
new { controller = "Home", action = "About" }
);
routes.MapRoute("Login", "",
new { controller = "Account", action = "LogOn" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
使用默認的模板,我剛剛創建了一個新的ASP.NET MVC 3應用程序,我的裝飾與授權屬性HomeController中,改變了我的航線global.asax與你的問題完全一樣,運行該應用程序,URL爲'http:// localhost:xxxx /',並顯示登錄操作。很顯然,HomeController從未執行過,因爲您已將帳戶的路由放在默認路由之前。你究竟想達到什麼目的? – 2012-02-12 08:30:09
如果我刪除「登錄」路線比我的網址是'http:// localhost:xxxx/Account/LogOn?ReturnUrl =%2f'。而當它的網址是好的'http:// localhost:xxxx /'但我登錄後我無法進入HomeController。我應該更改默認網址或什麼的,我不知道 – 1110 2012-02-12 10:01:03
你的目標是什麼?請描述您需要與您的網站進行互動的方式。如果你想進入HomeController的Index動作,你必須使用'/ Home/Index'而不是'/',因爲'/'將始終根據你的路由呈現登錄動作。 – 2012-02-12 10:07:48