public IActionResult CambiarContraseña(Docente d, string contraseñaNueva1, string contraseñaNueva2) { rolesusuarioContext context = new rolesusuarioContext(); DocentesRepository repos = new DocentesRepository(context); var docente = repos.Get(d.Id); try { if (docente != null) { if (contraseñaNueva1 == contraseñaNueva2) { docente.Contraseña = contraseñaNueva1; docente.Contraseña = HashingHelpers.GetHash(contraseñaNueva1); repos.Update(docente); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(docente)); } } return(RedirectToAction("VerDocentes")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(docente)); } }
public static Hash128 GetHash128(this WriteCommand cmd) { StreamHasher hasher = new StreamHasher(); HashingHelpers.WriteHashData(cmd, hasher.Writer); return(hasher.GetHash()); }
public static Hash128 GetHash128(this AssetLoadInfo info) { StreamHasher hasher = new StreamHasher(); HashingHelpers.WriteHashData(info, hasher.Writer); return(hasher.GetHash()); }
public IActionResult EliminarCuenta(string correo, string contra) { try { controlusuariosContext context = new controlusuariosContext(); Repository <Usuario> repository = new Repository <Usuario>(context); var usuario = repository.ObtenerUsuarioPorCorreo(correo); if (usuario != null) { if (HashingHelpers.GetHash(contra) == usuario.Contraseña) { repository.Eliminar(usuario); } else { ModelState.AddModelError("", "La contraseña es incorrecta."); return(View()); } } return(RedirectToAction("IniciarSesion")); } catch (Exception) { ModelState.AddModelError("", "Ocurrió un error. Inténtelo más tarde."); return(View()); } }
public static void AssetLoadInfo_WhenValueChanges_HashesChange() { AssetLoadInfo[] infos = new AssetLoadInfo[] { new AssetLoadInfo() { address = "Test" }, new AssetLoadInfo() { asset = GUID.Generate() }, new AssetLoadInfo() { includedObjects = new List <ObjectIdentifier>() { new ObjectIdentifier() } }, new AssetLoadInfo() { referencedObjects = new List <ObjectIdentifier>() { new ObjectIdentifier() } } }; HashSet <Hash128> set = new HashSet <Hash128>(infos.Select(x => HashingHelpers.GetHash128(x))); Assert.AreEqual(infos.Length, set.Count); }
public static void WriteCommand_WhenValueChanges_HashesChange() { WriteCommand[] infos = new WriteCommand[] { new WriteCommand() { fileName = "Test" }, new WriteCommand() { internalName = "Test2" }, new WriteCommand() { serializeObjects = new List <SerializationInfo>() { new SerializationInfo() } }, new WriteCommand() { serializeObjects = new List <SerializationInfo>() { new SerializationInfo() { serializationIndex = 2 } } } }; HashSet <Hash128> set = new HashSet <Hash128>(infos.Select(x => HashingHelpers.GetHash128(x))); Assert.AreEqual(infos.Length, set.Count); }
public IActionResult EliminarCuenta(string correo, string contra) { controlusrobertoContext context = new controlusrobertoContext(); try { UsuarioRepository <Usuario> reposUsuario = new UsuarioRepository <Usuario>(context); var usuario = reposUsuario.GetUserByEmail(correo); if (usuario != null) { if (HashingHelpers.GetHelper(contra) == usuario.Contrasena) { reposUsuario.Delete(usuario); } else { ModelState.AddModelError("", "La contraseña introducida es incorrecta, intentelo de nuevo."); return(View()); } } return(RedirectToAction("IniciarSesion")); } catch (Exception) { ModelState.AddModelError("", "Ocurrió un error. Inténtelo de nuevo en otro momento."); return(View()); } }
public IActionResult Registrar(Usuario u, string contraseña1, string contraseña2) { controlusuariosContext Context = new controlusuariosContext(); //Para agregar el usuario a la base de datos try { //Revisar que no exista una cuenta con ese correo if (Context.Usuario.Any(x => x.Correo == u.Correo)) { ModelState.AddModelError("", "Ya existe una cuenta registrada con este correo"); return(View(u)); } else { if (contraseña1 == contraseña2) { Repository <Usuario> repos = new Repository <Usuario>(Context); u.Contraseña = HashingHelpers.GetHash(contraseña1); u.Codigo = CodigoHelper.GetCodigo(); u.Activo = 0; repos.Insert(u); //Esto es para enviar el correo MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Music+"); message.To.Add(u.Correo); message.Subject = "Confirma tu correo"; //Leo el documento html para enviarlo string mensaje = System.IO.File.ReadAllText(Environment.WebRootPath + "/Correo.html"); message.IsBodyHtml = true; message.Body = mensaje.Replace("{##Codigo##}", u.Codigo.ToString()); SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); List <Claim> informacion = new List <Claim>(); informacion.Clear(); informacion.Add(new Claim("CorreoActivar", u.Correo)); return(RedirectToAction("ActivarCuenta")); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(u)); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(u)); } }
public static void PreloadInfo_WhenValueChanges_HashesChange() { ObjectIdentifier obj1 = new ObjectIdentifier(); obj1.SetFilePath("TestPath"); PreloadInfo[] infos = new PreloadInfo[] { new PreloadInfo() { preloadObjects = new List <ObjectIdentifier>() }, new PreloadInfo() { preloadObjects = new List <ObjectIdentifier>() { new ObjectIdentifier() } }, new PreloadInfo() { preloadObjects = new List <ObjectIdentifier>() { obj1 } }, }; HashSet <Hash128> set = new HashSet <Hash128>(infos.Select(x => HashingHelpers.GetHash128(x))); Assert.AreEqual(infos.Length, set.Count); }
public IActionResult AgregarDocente(Docente d) { rolesusuarioContext context = new rolesusuarioContext(); DocentesRepository repos = new DocentesRepository(context); try { var existe = repos.GetDocenteByClave(d.Clave); if (existe != null) { ModelState.AddModelError("", "Ya existe un docente con esta clave"); return(View(d)); } else { d.Activo = 1; d.Contraseña = HashingHelpers.GetHash(d.Contraseña); repos.Insert(d); return(RedirectToAction("VerDocentes")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(d)); } }
public void ComputeSha512Hash_Should_Return_Sha512_String() { var hh = new HashingHelpers(); var hashed = hh.ComputeSha512Hash(TextToHash); Assert.IsTrue(!string.IsNullOrWhiteSpace(hashed)); Assert.AreEqual(hashed.Length, 128); }
public void Should_Create_MD5_Hash_For_Value() { var hh = new HashingHelpers(); var hashed = hh.ComputeMD5Hash(TextToHash); Assert.IsTrue(!string.IsNullOrWhiteSpace(hashed)); Assert.AreEqual(hashed.Length, 32); }
public IActionResult Registrar(Usuario u, string contraseña, string contraseña2) { controlusuariosContext controlusuariosContext = new controlusuariosContext(); try { if (controlusuariosContext.Usuario.Any(x => x.Correo == u.Correo)) { ModelState.AddModelError("", "Cuenta ya registrada con esta dirección de correo."); return(View(u)); } else { if (contraseña == contraseña2) { Repository <Usuario> repos = new Repository <Usuario>(controlusuariosContext); u.Contraseña = HashingHelpers.GetHash(contraseña); u.Codigo = Helper.GetCodigo(); u.Activo = 0; repos.Insertar(u); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Servicio de streaming."); message.To.Add(u.Correo); message.Subject = "Activar cuenta"; string mensaje = System.IO.File.ReadAllText(Environment.WebRootPath + "/Inicio.html"); message.IsBodyHtml = true; message.Body = mensaje.Replace("{##Codigo##}", u.Codigo.ToString()); SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); List <Claim> informacion = new List <Claim>(); informacion.Clear(); informacion.Add(new Claim("CorreoActivar", u.Correo)); return(RedirectToAction("Activar")); } else { ModelState.AddModelError("", "Las contraseñas ingresadas no coinciden"); return(View(u)); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(u)); } }
public string GetGravatarUrl(string email) { if (string.IsNullOrEmpty(email)) { return(DEFAULT_URL); } var emailHash = HashingHelpers.GetHash(email); return(string.Format(GRAVATAR_URL_FORMAT, emailHash)); }
public IActionResult Registrar(Usuario us, string contrasena, string contrasena2) { controlusrobertoContext context = new controlusrobertoContext(); try { UsuarioRepository <Usuario> reposUsuario = new UsuarioRepository <Usuario>(context); if (context.Usuario.Any(x => x.Correo == us.Correo)) { ModelState.AddModelError("", "Este usuario ya tiene una cuenta en Cyberpuerta."); return(View(us)); } else { if (contrasena == contrasena2) { us.Contrasena = HashingHelpers.GetHelper(contrasena); us.Codigo = CodeHelper.GetCodigo(); us.Activo = 0; reposUsuario.Insert(us); MailMessage mensaje = new MailMessage(); mensaje.From = new MailAddress("*****@*****.**", "CyberPuerta"); mensaje.To.Add(us.Correo); mensaje.Subject = "Verifica tu correo para CyberPuerta"; string text = System.IO.File.ReadAllText(Environment.WebRootPath + "/ConfirmacionDeCorreo.html"); mensaje.Body = text.Replace("{##codigo##}", us.Codigo.ToString()); mensaje.IsBodyHtml = true; SmtpClient clienteXperience = new SmtpClient("smtp.gmail.com", 587); clienteXperience.EnableSsl = true; clienteXperience.UseDefaultCredentials = false; clienteXperience.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); clienteXperience.Send(mensaje); return(RedirectToAction("Activar")); } else { ModelState.AddModelError("", "Ambas contraseñas no coinciden entre sí, intentalo de nuevo."); return(View(us)); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(us)); } }
public async Task <IActionResult> IniciarSesion(Usuario u, bool persistant) { controlcuentasContext Context = new controlcuentasContext(); UsuarioRepository repos = new UsuarioRepository(Context); var usuario = repos.GetUsuarioByCorreo(u.Correo); if (usuario != null && HashingHelpers.GetHash(u.Contraseña) == usuario.Contraseña) { if (usuario.Activo == 1) { List <Claim> informacion = new List <Claim>(); informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + usuario.NombreUsuario)); informacion.Add(new Claim("Correo electronico", usuario.Correo)); informacion.Add(new Claim("Nombre Completo", usuario.NombreUsuario)); informacion.Add(new Claim("Fecha Ingreso", DateTime.Now.ToString())); var claimsIdentity = new ClaimsIdentity(informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); if (persistant == true) { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = true }); } else { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = false }); } return(RedirectToAction("Entrada")); } else { ModelState.AddModelError("", "La cuenta registrada con este correo electronico no esta activa"); return(View(u)); } } else { ModelState.AddModelError("", "El usuario o la contraseña son incorrectas"); return(View(u)); } }
public async Task <IActionResult> IniciarSesionDocente(Docente d) { rolesusuarioContext context = new rolesusuarioContext(); DocentesRepository repos = new DocentesRepository(context); var docente = repos.GetDocenteByClave(d.Clave); try { if (docente != null && docente.Contraseña == HashingHelpers.GetHash(d.Contraseña)) { if (docente.Activo == 1) { List <Claim> informacion = new List <Claim>(); informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + docente.Nombre)); informacion.Add(new Claim("Clave", docente.Clave.ToString())); informacion.Add(new Claim(ClaimTypes.Role, "Docente")); informacion.Add(new Claim("Nombre Completo", docente.Nombre)); informacion.Add(new Claim("IdDocente", docente.Id.ToString())); var claimsIdentity = new ClaimsIdentity(informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = true }); return(RedirectToAction("Principal", docente.Clave)); } else { ModelState.AddModelError("", "Lo sentimos, su usuario esta desactivado, hable con su superior para activar la cuenta"); return(View(d)); } } else { ModelState.AddModelError("", "La clave de docente o la contraseña es incorrecta"); return(View(d)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(d)); } }
public IActionResult RecuperarContraseña(string correo) { try { controlusuariosContext Context = new controlusuariosContext(); UsuarioRepository repos = new UsuarioRepository(Context); //Repository<Usuario> repos = new Repository<Usuario>(Context); var user = repos.GetUsuarioByCorreo(correo); if (user != null) { var contraseñaTemporal = CodigoHelper.GetCodigo(); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Music+"); message.To.Add(correo); message.Subject = "Recupera tu contraseña"; string mensaje = System.IO.File.ReadAllText(Environment.WebRootPath + "/RecuperarContraseña.html"); message.IsBodyHtml = true; message.Body = mensaje.Replace("{##contrasena##}", contraseñaTemporal.ToString()); SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); user.Contraseña = HashingHelpers.GetHash(contraseñaTemporal.ToString()); repos.Update(user); return(RedirectToAction("IniciarSesion")); } else { ModelState.AddModelError("", "El correo no esta registrado"); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View((object)correo)); } }
public async Task <IActionResult> IniciarSesion(Usuario u, bool persistente) { controlusuariosContext controlusuariosContext = new controlusuariosContext(); Repository <Usuario> usuarioRepository = new Repository <Usuario>(controlusuariosContext); var usuario = usuarioRepository.ObtenerUsuarioPorCorreo(u.Correo); if (usuario != null && HashingHelpers.GetHash(u.Contraseña) == usuario.Contraseña) { if (usuario.Activo == 1) { List <Claim> informacion = new List <Claim>(); informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + usuario.NombreUsuario)); informacion.Add(new Claim(ClaimTypes.Role, "Cliente")); informacion.Add(new Claim("Correo", usuario.Correo)); informacion.Add(new Claim("Nombre", usuario.NombreUsuario)); var claimsIdentity = new ClaimsIdentity(informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); if (persistente == true) { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = true }); } else { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = false }); } return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "La cuenta registrada con este correo electronico no esta activa"); return(View(u)); } } else { ModelState.AddModelError("", "El usuario o la contraseña son incorrectas"); return(View(u)); } }
public IActionResult RecuperarContraseña(string correo) { try { controlcuentasContext Context = new controlcuentasContext(); UsuarioRepository repos = new UsuarioRepository(Context); var user = repos.GetUsuarioByCorreo(correo); if (user != null) { var contraseñaTemporal = CodigoHelper.GetCodigo(); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "AnimeFull"); message.To.Add(correo); message.Subject = "Recupera tu contraseña"; message.Body = $"Utiliza esta contraseña temporal para ingresar a tu cuenta, recuerda que una vez que ingreses deberas cambiarla: {contraseñaTemporal} "; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); user.Contraseña = HashingHelpers.GetHash(contraseñaTemporal.ToString()); repos.Update(user); return(RedirectToAction("IniciarSesion")); } else { ModelState.AddModelError("", "El correo no esta registrado"); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View((object)correo)); } }
public async Task <IActionResult> IniciarSesion(Usuario us, bool mantener) { controlusrobertoContext context = new controlusrobertoContext(); UsuarioRepository <Usuario> reposUsuario = new UsuarioRepository <Usuario>(context); var datos = reposUsuario.GetUserByEmail(us.Correo); if (datos != null && HashingHelpers.GetHelper(us.Contrasena) == datos.Contrasena) { if (datos.Activo == 1) { List <Claim> info = new List <Claim>(); info.Add(new Claim(ClaimTypes.Name, "Usuario" + datos.Nombre)); info.Add(new Claim(ClaimTypes.Role, "Cliente")); info.Add(new Claim("Correo", datos.Correo)); info.Add(new Claim("Nombre", datos.Nombre)); var claimsidentity = new ClaimsIdentity(info, CookieAuthenticationDefaults.AuthenticationScheme); var claimsprincipal = new ClaimsPrincipal(claimsidentity); if (mantener == true) { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsprincipal, new AuthenticationProperties { IsPersistent = true }); } else { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsprincipal, new AuthenticationProperties { IsPersistent = false }); } return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Activa tu cuenta para poder iniciar sesión en Cyberpuerta."); return(View(us)); } } else { ModelState.AddModelError("", "El correo electrónico o la contraseña son incorrectas."); return(View(us)); } }
public IActionResult RecuperarContrasena(string correo) { try { controlusrobertoContext context = new controlusrobertoContext(); UsuarioRepository <Usuario> repository = new UsuarioRepository <Usuario>(context); var usuario = repository.GetUserByEmail(correo); if (usuario != null) { var contraTemp = CodeHelper.GetCodigo(); MailMessage mensaje = new MailMessage(); mensaje.From = new MailAddress("*****@*****.**", "CyberPuerta"); mensaje.To.Add(correo); mensaje.Subject = "Recupera tu contraseña en CyberPuerta"; string text = System.IO.File.ReadAllText(Environment.WebRootPath + "/RecuperacionDeContrasena.html"); mensaje.Body = text.Replace("{##contraTemp##}", contraTemp.ToString()); mensaje.IsBodyHtml = true; SmtpClient cliente = new SmtpClient("smtp.gmail.com", 587); cliente.EnableSsl = true; cliente.UseDefaultCredentials = false; cliente.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); cliente.Send(mensaje); usuario.Contrasena = HashingHelpers.GetHelper(contraTemp.ToString()); repository.Edit(usuario); return(RedirectToAction("IniciarSesion")); } else { ModelState.AddModelError("", "El correo no se encuentra registrado en nuestra página."); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View((object)correo)); } }
public IActionResult CambiarContra(string correo, string contra, string nuevaContrasena, string nvaContrasena) { controlusrobertoContext context = new controlusrobertoContext(); try { UsuarioRepository <Usuario> reposUsuario = new UsuarioRepository <Usuario>(context); var usuario = reposUsuario.GetUserByEmail(correo); if (usuario.Contrasena != HashingHelpers.GetHelper(contra)) { ModelState.AddModelError("", "La contraseña es incorrecta."); return(View()); } else { if (nuevaContrasena != nvaContrasena) { ModelState.AddModelError("", "Ambas contraseñas no coinciden entre sí, intentelo de nuevo."); return(View()); } else if (usuario.Contrasena == HashingHelpers.GetHelper(nuevaContrasena)) { ModelState.AddModelError("", "Esta introduciendo una contraseña antigua, intentelo una vez mas con una contaseña distinta."); return(View()); } else { usuario.Contrasena = HashingHelpers.GetHelper(nuevaContrasena); reposUsuario.Edit(usuario); return(RedirectToAction("IniciarSesion")); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View()); } }
public IActionResult CambiarContra(string correo, string contraseña, string nuevaContraseña, string confirmarNuevaContraseña) { controlusuariosContext context = new controlusuariosContext(); Repository <Usuario> repository = new Repository <Usuario>(context); try { var usuario = repository.ObtenerUsuarioPorCorreo(correo); if (usuario.Contraseña != HashingHelpers.GetHash(contraseña)) { ModelState.AddModelError("", "La contraseña ingresada no es correcta."); return(View()); } else { if (nuevaContraseña != confirmarNuevaContraseña) { ModelState.AddModelError("", "Las contraseñas no coinciden."); return(View()); } else if (usuario.Contraseña == HashingHelpers.GetHash(nuevaContraseña)) { ModelState.AddModelError("", "La nueva contraseña no puede ser igual a la actual."); return(View()); } else { usuario.Contraseña = HashingHelpers.GetHash(nuevaContraseña); repository.Editar(usuario); return(RedirectToAction("IniciarSesion")); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View()); } }
public IActionResult RecuperarContra(string correo) { try { controlusuariosContext context = new controlusuariosContext(); Repository <Usuario> repository = new Repository <Usuario>(context); var usuario = repository.ObtenerUsuarioPorCorreo(correo); if (usuario != null) { var contraTemp = Helper.GetCodigo(); MailMessage mensaje = new MailMessage(); mensaje.From = new MailAddress("*****@*****.**", "Servicio de streaming"); mensaje.To.Add(correo); mensaje.Subject = "Recupera tu contraseña"; string text = System.IO.File.ReadAllText(Environment.WebRootPath + "/Recuperacion.html"); mensaje.Body = text.Replace("{##contraTemp##}", contraTemp.ToString()); mensaje.IsBodyHtml = true; SmtpClient cliente = new SmtpClient("smtp.gmail.com", 587); cliente.EnableSsl = true; cliente.UseDefaultCredentials = false; cliente.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); cliente.Send(mensaje); usuario.Contraseña = HashingHelpers.GetHash(contraTemp.ToString()); repository.Editar(usuario); return(RedirectToAction("IniciarSesion")); } else { ModelState.AddModelError("", "El correo electrónico ingresado no está registrado."); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View((object)correo)); } }
public async Task <IActionResult> IniciarSesionDirector(Director d) { rolesusuarioContext context = new rolesusuarioContext(); Repository <Director> repos = new Repository <Director>(context); var director = context.Director.FirstOrDefault(x => x.Clave == d.Clave); try { if (director != null && director.Contraseña == HashingHelpers.GetHash(d.Contraseña)) { List <Claim> informacion = new List <Claim>(); informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + director.Nombre)); informacion.Add(new Claim("Clave", director.Clave.ToString())); informacion.Add(new Claim(ClaimTypes.Role, "Director")); informacion.Add(new Claim("Nombre Completo", director.Nombre)); informacion.Add(new Claim("Fecha Ingreso", DateTime.Now.ToString())); var claimsIdentity = new ClaimsIdentity(informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = true }); return(RedirectToAction("Principal")); } else { ModelState.AddModelError("", "La clave de docente o la contraseña es incorrecta"); return(View(d)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(d)); } }
public static void AssetBundleInfo_WhenValueChanges_HashesChange() { AssetBundleInfo[] infos = new AssetBundleInfo[] { new AssetBundleInfo() { bundleName = "Test" }, new AssetBundleInfo() { bundleName = "Test2" }, new AssetBundleInfo() { bundleAssets = new List <AssetLoadInfo>() { new AssetLoadInfo() { address = "a1" } } }, new AssetBundleInfo() { bundleAssets = new List <AssetLoadInfo>() { new AssetLoadInfo() { address = "a2" } } } }; HashSet <Hash128> set = new HashSet <Hash128>(infos.Select(x => HashingHelpers.GetHash128(x))); Assert.AreEqual(infos.Length, set.Count); }
public IActionResult CambiarContraseña(string contraseñaNueva1, string correo, string contraseñaNueva2) { controlcuentasContext Context = new controlcuentasContext(); UsuarioRepository repos = new UsuarioRepository(Context); var user = repos.GetUsuarioByCorreo(correo); try { if (contraseñaNueva1 == contraseñaNueva2) { user.Contraseña = HashingHelpers.GetHash(contraseñaNueva1); if (user.Contraseña == contraseñaNueva1) { ModelState.AddModelError("", "La nueva contraseña no puede ser igual a la ya registrada"); return(View(contraseñaNueva1)); } else { repos.Update(user); return(RedirectToAction("Entrada")); } } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(contraseñaNueva1, contraseñaNueva2)); } }
public static void SerializationInfo_WhenValueChanges_HashesChange() { ObjectIdentifier obj1 = new ObjectIdentifier(); obj1.SetFilePath("TestPath"); SerializationInfo[] infos = new SerializationInfo[] { new SerializationInfo() { serializationIndex = 0 }, new SerializationInfo() { serializationIndex = 1 }, new SerializationInfo() { serializationIndex = 0, serializationObject = obj1 } }; HashSet <Hash128> set = new HashSet <Hash128>(infos.Select(x => HashingHelpers.GetHash128(x))); Assert.AreEqual(infos.Length, set.Count); }
/// <summary> /// Gets the name hash of the attribute /// </summary> /// <returns></returns> public virtual uint GetHash() => HashingHelpers.BinHash(Name);