asp.net MVC 标识表单不会发布到允许匿名操作



我正在学习身份,我有一个似乎没有人有的问题。如果我自己输入操作,我对应用程序的登录工作得很好,但是如果我尝试让它像通常登录一样 - 带有表单和帖子。然后我的表单数据就是没有进入操作。我在该操作中有一个断点,代码永远不会命中。我没有像AntiForgeryToken这样的东西,因为我只想达到断点。

登录操作

[HttpPost]
[AllowAnonymous]
        public virtual ActionResult Login(UserViewModel user, string returnUrl)
        {
            if (!ModelState.IsValid)
                return RedirectToAction(MVC.Home.ActionNames.Index, MVC.Home.Name);
            var result = SignInManager.PasswordSignIn(
                user.Name, user.Password, false, shouldLockout: false);
            switch (result)
            {
                case SignInStatus.Success:
                    return Redirect(returnUrl);
                case SignInStatus.LockedOut:
                case SignInStatus.RequiresVerification:
                case SignInStatus.Failure:
                default:
                    ModelState.AddModelError("", "Invalid login attempt");
                    return RedirectToAction(MVC.Home.ActionNames.Index, MVC.Home.Name);
            }
        }

登录网页

    @using (Html.BeginForm("Login", "Admin", new { returnUrl = ViewBag.returnUrl }, FormMethod.Post ))
{
    @Html.ValidationSummary(true)
    <div class="form-group">
        @Html.LabelFor(m => m.Name)
        <div class="input-group">
            @Html.TextBoxFor(m => m.Name, new {@class = "form-control", placeholder = "Jméno"})
            <span class="input-group-addon"><i class="fa fa-user"></i></span>
        </div>
        @Html.ValidationMessageFor(m => m.Name)
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.Password)
        <div class="input-group">
            @Html.PasswordFor(m => m.Password, new { @class = "form-control", placeholder = "Heslo" })
            <span class="input-group-addon"><i class="fa fa-lock"></i></span>
        </div>
        @Html.ValidationMessageFor(m => m.Password)
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.ConfirmPassword)
        <div class="input-group">
            @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control", placeholder = "Potvrdit heslo" })
            <span class="input-group-addon"><i class="fa fa-lock"></i></span>
        </div>
        @Html.ValidationMessageFor(m => m.ConfirmPassword)
    </div>
    <input type="submit" value="Přihlásit se" class="btn btn-default"/>
}

Startup.Auth

public void ConfigureAuth(IAppBuilder app)
    {
        app.CreatePerOwinContext(ApplicationDbContext.Create);
        app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
        app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString($"/{MVC.Admin.Name}/{MVC.Admin.ActionNames.Login}")
        });
    }

问题出在返回登录视图的操作上。我没有将模型作为对象传递给我的视图作为参数。

最新更新