Свойство PasswordHash в IdentityUser`4 не может быть установлено в значение System.Byte []. - PullRequest
0 голосов
/ 28 января 2019

У меня есть приложение, построенное на подходе Code-First Entity Framework.Из-за того, что это унаследованное приложение, я не буду вдаваться во все сложные детали, так как у меня нет ответов на все вопросы.

Но он использует то, что кажется гибридным подходом использования ASP.NET Identity и некоторые другие внутренние методы аутентификации пользователя.

Я искал, но не могу найти разумного решения этой ошибки:

Свойство 'PasswordHash' в 'IdentityUser`4 'не может быть установлено значение' System.Byte [] '.Необходимо установить для этого свойства ненулевое значение типа 'System.String'.

Ошибка возникает в свойстве Password Hash, когда приложение вызывает метод CreateIdentityAsync объекта Identity.Frameworks UserManager

Свойство определено как строка, но фактическое значение хэша пароля, хранящееся в таблице базы данных, равно Binary(64).

Я пробовал этот подход, но ошибкато же самое:

var pwdHsh = Convert.ToBase64String((byte[])sqlReader["PasswordHash"])
PasswordHash = pwdHsh

Каков подходящий способ получить двоичный код (64), который фактически извлекается как байтовый массив из SQL, в строковый формат, который был бы приемлемым ???

Я только определил еще один пост, относящийся к этой проблеме

Как проанализировать пароль в varbinary из базы данных в строку IdentityUser в Web Api Authentication

, но былиответы не предоставлены.

...