Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }