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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top