2013-09-25 44 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?看来你没有 –