IIS 7.5下的asp net web应用程序重定向到登录页面,但在登录后出现错误http 404.0

时间:2012-11-29 06:31:09

标签: asp.net asp.net-mvc iis asp.net-mvc-4 iis-7.5

我有一个使用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 }
        );
    }
}

}

2 个答案:

答案 0 :(得分:0)

可能你的web.config应该包含虚拟目录的loginUrl1属性。

尝试更改您的web.config,如下所示:

<authentication mode="Forms">
      <forms loginUrl="tgpwebged/Account/Login"  />
</authentication>

答案 1 :(得分:0)

问题不是我的asp网络应用程序,而是IIS配置。 负责IIS的人解决了这个问题。感谢