public async Task <IActionResult> Login(LoginViewModel login) { if (ModelState.IsValid && _context.Usuarios.Any(x => x.Email == login.Email && x.Senha == login.Senha)) { int id = _context.Usuarios.Where(x => x.Email == login.Email && x.Senha == login.Senha).Select(x => x.UsuarioId).Single(); InformacaoLogin informacao = new InformacaoLogin { UsuarioId = id, EnderecoIP = Request.HttpContext.Connection.RemoteIpAddress.ToString(), Data = DateTime.Now.ToShortDateString(), Horario = DateTime.Now.ToShortTimeString() }; _context.Add(informacao); await _context.SaveChangesAsync(); HttpContext.Session.SetInt32("UsuarioId", id); var claims = new List <Claim> { new Claim(ClaimTypes.Email, login.Email) }; var userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); return(RedirectToAction("Index", "Curriculos")); } return(View(login)); }
public async Task <IActionResult> Registro([Bind("UsuarioId,Email,Senha")] Usuario usuario) { if (ModelState.IsValid) { _context.Add(usuario); InformacaoLogin informacao = new InformacaoLogin { UsuarioId = usuario.UsuarioId, EnderecoIP = Request.HttpContext.Connection.RemoteIpAddress.ToString(), Data = DateTime.Now.ToShortDateString(), Horario = DateTime.Now.ToShortTimeString() }; _context.Add(informacao); await _context.SaveChangesAsync(); HttpContext.Session.SetInt32("UsuarioId", usuario.UsuarioId); var claims = new List <Claim> { new Claim(ClaimTypes.Email, usuario.Email) }; var userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); return(RedirectToAction("Index", "Curriculos")); } return(View(usuario)); }
public async Task <IActionResult> Login(LoginViewModel login) { if (ModelState.IsValid) { if (_context.Usuarios.Any(u => u.Email == login.Email && u.Senha == login.Senha)) { /*Para gravar nas Informações de Log * - Grava o ID do usuario cadastrado */ var id = _context.Usuarios.Where(u => u.Email == login.Email && u.Senha == login.Senha) .Select(u => u.UsuarioId).Single(); InformacaoLogin informacao = new InformacaoLogin { UsuarioId = id, EnderecoIP = Request.HttpContext.Connection.RemoteIpAddress.ToString(), Data = DateTime.Now.ToShortDateString(), Horario = DateTime.Now.ToShortTimeString() }; _context.Add(informacao); await _context.SaveChangesAsync(); //Realizar Login HttpContext.Session.SetInt32("UsuarioId", id); var claims = new List <Claim> { new Claim(ClaimTypes.Email, login.Email) }; //Cria conexão do Usuario var userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); return(RedirectToAction("Index", "Curriculos")); } } return(View(login)); }