我有一个使用ASP NET MVC开发的应用程序,我在IIS中配置了虚拟目录。
我可以访问服务器文件夹以及位于http:localhost:8081 / application
中的应用程序我按照预期重定向到位于/帐户/登录的登录页面但是当我使用我的用户名/密码登录时,我得到的是Erro HTTP 404.0 - 未找到。
为什么会这样?
修改
控制器:
//
// POST: /Account/Login
[HttpPost]
[ValidateAntiForgeryToken]
[AllowAnonymous]
public ActionResult Login(LoginModel model, string returnUrl)
{
MembershipProvider mp = Membership.Provider;
if (ModelState.IsValid && mp.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, false);
return RedirectToAction("Index", "Home");
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "Username ou Password incorreto!.");
return View(model);
}
RouteConfig:
namespace tgpwebged { public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
}
}
答案 0 :(得分:0)
可能你的web.config应该包含虚拟目录的loginUrl1
属性。
尝试更改您的web.config,如下所示:
<authentication mode="Forms">
<forms loginUrl="tgpwebged/Account/Login" />
</authentication>
答案 1 :(得分:0)
问题不是我的asp网络应用程序,而是IIS配置。 负责IIS的人解决了这个问题。感谢