Helpers - компьютеры, интернет, программирование

Входные данные не являются допустимой строкой Base-64, так как содержат идентификатор ASP.NET, отличный от 64-символьного.

Я использую идентификатор asp.net для входа и аутентификации. Я получаю сообщение об ошибке для поля пароля при входе в систему с помощью следующего метода

model= это пользовательская сущность

var user = await UserManager.FindAsync(model.UserName, model.Password);
                if (user != null)
                {
                    bool isPersistent = false;
                    await SignInAsync(user, isPersistent);
                    return RedirectToLocal(returnUrl);
                }

Введенная строка не является допустимой строкой Base-64, так как она содержит символ, отличный от Base 64, более двух символов заполнения или недопустимый символ среди символов заполнения.

10.04.2014

  • Я также получаю эту проблему. Я не думаю, что вы используете MySQL? Удалось ли вам докопаться до сути этой проблемы? 20.09.2014
  • У меня тоже такая проблема, я использую EF. однако я переопределил Pk из строки в Int 07.04.2015
  • Вы получите ту же ошибку, если поместите неверный хэш в Password_Hash. 07.10.2015
  • Я согласен с пользователем 960567. Вы можете использовать Postman или написать модульный тест для создания пользователя с соответствующим паролем. В зависимости от типа шифрования пароль будет выглядеть примерно так: BBT+nIr3Mk5nmZNBL8b2vrWFvarWIJxNqefxHWHJ6ykeNGj+DTxt2k5P2eYolnDBOw== 08.01.2018

Ответы:


1

Вы используете ЭФ? Если это так, вам не следует добавлять AspNetRoles, AspNetUserClaims, AspNetUserLogins и AspNetUserRoles в свой edmx.

Кроме того, я всегда использую метод «Вход», как показано ниже. Если мне нужно сохранить некоторую информацию (например, userRole, userName и т. д.), я использую сеанс, как показано ниже.

public async Task<ActionResult> Login(LoginViewModel model)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var user = await UserManager.FindAsync(model.Email, model.Password);
        //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        if (user != null)
        {
            string userRole = UserManager.GetRoles(user.Id).FirstOrDefault();
            Session["userRole"] = userRole;
            Session["userName"] = model.Email;
            await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); 
            return RedirectToAction("Index", "Home");
        }
        else
        {
            ModelState.AddModelError("", "Invalid username or password"); 
            return View(model);
        }
    }

Следовательно, вы можете попробовать

await SignInManager.PasswordSignInAsync

or

await SignInManager.SignInAsync
29.05.2015
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..