0

ASP NET MVCを使用して開発されたアプリケーションがあり、IISで仮想ディレクトリを構成しました。

サーバーフォルダーと、http:localhost:8081/applicationにあるアプリにもアクセスできます。

期待どおりに/Account/ Loginにあるログインページにリダイレクトされますが、ユーザー名/パスワードを使用してログインすると、ErroHTTP404.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 }
        );
    }
}

}

4

2 に答える 2

0

問題は私のaspnetアプリではなく、IIS構成にありました。IISの担当者が問題を解決します。ありがとう

于 2013-01-07T06:42:11.647 に答える
0

loginUrl1おそらく、web.configの属性に仮想ディレクトリを含める必要があります。

次のようにweb.configを変更してみてください。

<authentication mode="Forms">
      <forms loginUrl="tgpwebged/Account/Login"  />
</authentication>
于 2012-11-29T07:07:31.657 に答える