.NET MVC Email как имя пользователя Возвращая ошибка - InvalidProviderUserKey
-
14-11-2019 - |
Вопрос
У меня есть приложение .Net MVC, которое я пытаюсь использовать адрес электронной почты в качестве имени пользователя. Я реализовал логику от Эта статья , где имя пользователя замаскируется как электронная почта. Однако, когда я пытаюсь позвонить
private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);
.
Откуда именно имя пользователя "air@email.com", статус всегда возвращается как InvalidProvideruserkey . Если я использую стандартное имя пользователя (без @), он работает нормально. Я попробовал искать решение, но я действительно могу найти объяснение InvalidProviderUserkey где угодно.
Мне было интересно, если кто-то столкнулся с этой проблемой до или может предложить объяснение того, почему этот сценарий будет возвращать этот конкретный статус. Заранее спасибо за любую помощь.
<Сильное> Обновление
Я использовал GUID. NewGuid для ProvireuserKey, и он работал.
.
_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);
Спасибо Даниэль А. Белый за вашу помощь. Ссылка на статью, которую вы предоставили, было то, что мне нужно было понять.
Решение
Make sure you pass something to providerUserKey
, not just false
.
providerUserKey
Type:System.Object
The unique identifier from the membership data source for the user.
http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.createuser.aspx