Не могу войти, но могу зарегистрироваться в приложении ASP.NET MVC 5 - PullRequest
0 голосов
/ 17 июня 2019

После успешной регистрации случайного пользователя приложение не регистрирует их автоматически. Я даже не могу войти после ввода информации в defaulf Login View. Это просто направляет меня в Home / Index View и все. Я добавил AuthorizeAttribute в FilterConfig и роль администратора

Я пытался создать простое новое примерное приложение ASP.NET MVC 5 просто для проверки ведения журнала по умолчанию, но там оно тоже не сработало. Как и в предыдущем приложении, он просто направляет меня на главную страницу / страницу указателя

    // GET: /Account/Login
    [AllowAnonymous]
    public ActionResult Login(string returnUrl)
    {
        ViewBag.ReturnUrl = returnUrl;
        return View();
    }

    //
    // POST: /Account/Login
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {

            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Nieprawidłowa próba logowania.");
                return View(model);
        }
    }

    [AllowAnonymous]
    public ActionResult Register()
    {
        return View();
    }

    //
    // POST: /Account/Register
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Register(RegisterViewModel model)
    {
        if (ModelState.IsValid)
        {
            var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
            var result = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {

                //var roleStore = new RoleStore<IdentityRole>(new ApplicationDbContext());
                //var roleManager = new RoleManager<IdentityRole>(roleStore);
                //await roleManager.CreateAsync(new IdentityRole { Name = "Admin" });
                //await UserManager.AddToRoleAsync(user.Id, "Admin");

                await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);



                return RedirectToAction("Index", "Home");
            }
            AddErrors(result);
        }

        return View(model);
    }

Я хотел бы знать, как мне успешно войти в систему пользователей.

1 Ответ

0 голосов
/ 17 июня 2019

Глядя на ваш код, кто-то может спросить, как он не выдает ошибку или как завершена сборка.

в вашем Account controller Login [HttpPost], строки ниже нет.

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

Эта строка должна появиться после объявления переменной

switch (result)
{
     //ommited block of code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...