.NET MVC Email как имя пользователя Возвращая ошибка - InvalidProviderUserKey

StackOverflow https://stackoverflow.com/questions/6031753

Вопрос

У меня есть приложение .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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top