我有一个配置为使用
的应用程序中的〜/帐户/ LogOn支持
的web.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,但它没有用,并在运行时显示授权错误。
答案 0 :(得分:1)
我不确定您是否可以将路由更改为两个操作具有相同的地址:Home/Index
和Account/LogOn
。但是,如果您想要更改默认的logOn路由,则需要两个步骤:
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
}