электронная почта .net mvc как ошибка возврата имени пользователя - InvalidProviderUserKey - PullRequest
1 голос
/ 17 мая 2011

У меня есть приложение .Net MVC, в котором я пытаюсь использовать адрес электронной почты в качестве имени пользователя.Я реализовал логику из этой статьи , где имя пользователя маскируется как электронная почта.Однако, когда я пытаюсь позвонить

private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);

, где имя пользователя «email@email.com», статус всегда возвращается как InvalidProviderUserKey .Если я использую стандартное имя пользователя (без @), оно работает нормально.Я пытался найти решение, но я действительно могу найти объяснение InvalidProviderUserKey в любом месте.

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

ОБНОВЛЕНИЕ

Я использовал Guid.NewGuid для ProviderUserKey, и это сработало.

_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);

Спасибо, ДаниэльА. Белый за вашу помощь.Ссылка на статью, которую вы предоставили, была то, что мне нужно было понять.

1 Ответ

2 голосов
/ 17 мая 2011

Убедитесь, что вы что-то передаете providerUserKey, а не просто false.

providerUserKey Тип: System.Object Уникальный идентификатор из источника данных членства для пользователя.

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.createuser.aspx

...