Correo electrónico de .NET MVC como Nombre de usuario Error de devolución - InvalidProViderUserKey
-
14-11-2019 - |
Pregunta
Tengo una aplicación .NET MVC que estoy tratando de usar una dirección de correo electrónico como el nombre de usuario. Implementé la lógica desde este artículo donde el nombre de usuario está enmascarado como el correo electrónico. Sin embargo, cuando intento llamar
private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);
Donde el nombre de usuario es "correo electrónico@email.com", el estado siempre devuelve como inválidovideruseryey . Si uso un nombre de usuario estándar (sin el @), funciona bien. Intenté buscar una solución, pero realmente puedo encontrar una explicación de InvalidProVideruserKeyy en cualquier lugar.
Me preguntaba si alguien se ha encontrado con este problema antes o podría ofrecer una explicación de por qué este escenario estaría devolviendo este estado específico. Gracias de antemano por cualquier ayuda.
actualización
Usé GUID.Newguid para el proveedor y funcionó.
_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);
Gracias Daniel A. White por su ayuda. El enlace del artículo que proporcionó fue lo que necesitaba para entenderlo.
Solución
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