2013-09-25 42 views
0

我/在隱藏在asp.net MVC默認形式的認證URL

網,其被配置爲使用

〜/帳戶的應用程序登錄

。 config

用於認證的文件。

我希望網址只指向www.example.com,而不是www.example.com/Account/LogOn。

我曾經試圖具備路由配置如下,但它不工作

routes.MapRoute(
      "Default",            // Route name 
      "{controller}/{action}/{id}",       // URL with parameters 
      new { controller = "Account", action = "LogOn", id = "" } 
     ); 

請建議可以用正確的做法。我試圖從web.config文件中刪除loginurl,但它沒有用,並且在運行時顯示授權錯誤。

回答

1

我不確定您是否可以更改路由以使兩個操作具有相同的地址:Home/IndexAccount/LogOn。但是,如果你想改變默認的登錄路由需要兩個步驟:

1)再添加一個路由:

//This route returns www.example.com/Login 
routes.MapRoute(
      "MyRoute",            
      "Login",       
      new { controller = "Account", action = "LogOn", id = "" } 
     ); 

2)請在web.config中的變化:

~/Login 

在同方式你可以創建任何其他路由LogOn

至於我唯一的解決方案loginIndex頁是這樣做的(和刪除重定向從web.c onfig):

@if(!Request.IsAuthenticated) 
{ 
    //PartialView with Log In form 
} 
else 
{ 
// Your Index page content 
} 
+0

我甚至用不同的控制器(歡迎)嘗試和沒有工作 – Saravanan

+0

通過上述途徑,給我的網址爲www.example.com/account/logon?returnurl=login – Saravanan

+0

@saravanan是否像第2步那樣更改了web.config?看來你沒有 –