Principales respuestas
¿Login con email y username en membership?

Pregunta
-
Hola!
¿Como iniciar sesion con el email o username y password en membership de mvc 4?
Se que para iniciar secion con el usuario y contraseña es este codigo
[AllowAnonymous] [HttpPost] public ActionResult Login(IdentificarmeModel model, string returnUrl) { if (ModelState.IsValid) { if (Membership.ValidateUser(model.UserName, model.Password)) { FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); if (Url.IsLocalUrl(returnUrl)) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "El nombre de usuario o contraseña proporcionada es incorrecta."); } } // If we got this far, something failed, redisplay form return View(model); }
tambien se que para iniciar secion con el email y contraseña es este
[AllowAnonymous] [HttpPost] public ActionResult Login(IdentificarmeModel model, string returnUrl) { if (ModelState.IsValid) { var userName = Membership.GetUserNameByEmail(model.Email); if (Membership.ValidateUser(userName, model.Password)) { FormsAuthentication.SetAuthCookie(userName, model.RememberMe); if (Url.IsLocalUrl(returnUrl)) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "El nombre de usuario o contraseña proporcionada es incorrecta."); } } // If we got this far, something failed, redisplay form return View(model); }
Pero al querer iniciar secion con el nombre de usuario o email mas contraseña no se me ocuurre alguna forma
¿alguien me podria ayudar? de antemano quedo agradecido
Saludos
kontracx
Respuestas
-
Hola yo proceso un poco la cadena de entrada del campo username, verifico si contiene la @... aqui te dejo el codigo
if (ModelState.IsValid) { MembershipUser usuario = null; string nombreUsuario; bool usaEmail = model.UserName.Contains('@') ? true : false; if (usaEmail) { nombreUsuario = Membership.GetUserNameByEmail(model.UserName); if (!string.IsNullOrEmpty(nombreUsuario)) usuario = Membership.GetUser(nombreUsuario); } else { nombreUsuario = model.UserName; usuario = Membership.GetUser(model.UserName); } if (usuario != null && MembershipService.ValidateUser(nombreUsuario, model.Password)) { FormsService.SignIn(nombreUsuario, model.RememberMe);
ojala te sirva
Saludos
- Marcado como respuesta kontracx jueves, 23 de agosto de 2012 19:33
Todas las respuestas
-
Hola yo proceso un poco la cadena de entrada del campo username, verifico si contiene la @... aqui te dejo el codigo
if (ModelState.IsValid) { MembershipUser usuario = null; string nombreUsuario; bool usaEmail = model.UserName.Contains('@') ? true : false; if (usaEmail) { nombreUsuario = Membership.GetUserNameByEmail(model.UserName); if (!string.IsNullOrEmpty(nombreUsuario)) usuario = Membership.GetUser(nombreUsuario); } else { nombreUsuario = model.UserName; usuario = Membership.GetUser(model.UserName); } if (usuario != null && MembershipService.ValidateUser(nombreUsuario, model.Password)) { FormsService.SignIn(nombreUsuario, model.RememberMe);
ojala te sirva
Saludos
- Marcado como respuesta kontracx jueves, 23 de agosto de 2012 19:33
-