0

我有一个配置为使用的应用程序

〜/帐户/登录

在里面

网络配置

文件进行身份验证。

我想让 URL 只指向 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,但它没有用,并且在运行时显示授权错误。

4

1 回答 1

1

我不确定您是否可以更改路由以使两个操作具有相同的地址:Home/IndexAccount/LogOn. 但是,如果您想更改默认登录路由,则需要 2 个步骤:

1)再添加一个路由:

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

2) 在 web.config 中进行更改:

~/Login

以同样的方式,您可以为 LogOn 创建任何其他路由

对我来说,页面login上唯一的解决方案Index是这样做(并从 web.config 中删除重定向):

@if(!Request.IsAuthenticated)
{
   //PartialView with Log In form
}
else
{
 // Your Index page content
}
于 2013-09-25T16:23:47.873 回答