public void RealizaLoginAdmDefault() { UsuarioService ServicoUsuario = new UsuarioService(new DefRepositorioUsuario(this.DbContext)); Usuario AdmDefault = PadraoUsuario.Admin; LoginUsuarioRequest RequestLogin = new LoginUsuarioRequest() { Login = AdmDefault.Login, Senha = "D26m04a03" }; LoginUsuarioRespost retorno = ServicoUsuario.AutenticaUsuario(RequestLogin); SessaoUsuario SessaoAtiva = (from sessao in DbContext.SessaoUsuario where sessao.Ativo == true && sessao.UsuarioID == AdmDefault.Id select new SessaoUsuario() { Id = sessao.Id, Ativo = sessao.Ativo, InicioSessao = sessao.DataInicioSessao.DateTime, UsuarioId = sessao.UsuarioID }).FirstOrDefault(); Assert.False(SessaoAtiva == null); retorno = ServicoUsuario.AutenticaUsuario(RequestLogin); List <MapSessaoUsuario> SessoesAtivas = (from sessao in DbContext.SessaoUsuario where sessao.Ativo == true && sessao.UsuarioID == AdmDefault.Id select sessao).ToList(); Assert.False(SessoesAtivas == null); Assert.Single(SessoesAtivas); }
public IActionResult Login(LoginUsuarioRequest LoginData) { try { LoginUsuarioRespost resultLogin = _Service.AutenticaUsuario(LoginData); return(new JsonResult(resultLogin)); } catch (Exception Erro) { ServicoLog.AddLogAsync(Erro.Message); } return(new JsonResult(MensagensEntidades.ErroInesperado)); }
public LoginUsuarioRespost AutenticaUsuario(LoginUsuarioRequest Usuario) { LoginUsuarioRespost ret = new LoginUsuarioRespost() { SessaoId = Guid.Empty.ToString() }; try { MapUsuario result = (from usuario in DBContext.Usuarios where usuario.Ativo == true && Usuario.Login.Equals(usuario.Login) && usuario.Senha.ToUpper().Equals(Util.HashSHA256(Usuario.Senha)) select usuario).FirstOrDefault(); if (result == null) { ret.Menssagem = MensagensEntidades.LoginIncorreto; } else { MapSessaoUsuario Sessao = new MapSessaoUsuario() { DataInicioSessao = DateTime.Now, Ativo = true, UsuarioID = result.Id, Id = Guid.NewGuid() }; this.InativaSessoesUsuario(result.Id); DBContext.SessaoUsuario.Add(Sessao); DBContext.SaveChanges(); ret.SessaoId = Sessao.Id.ToString(); } } catch (Exception Erro) { ret.ErrorMessage = MensagensEntidades.ErroInesperado; Task.Run(() => { new LogService().AddLog(Erro.Message); }); } return(ret); }
static void Main(string[] args) { Container container = new Container(); container.Register <IDB, MSSqlServer>(Lifestyle.Singleton); container.Register <IUsuarioRepositorio, UsuarioRepositorio>(); var conexao = container.GetInstance <IUsuarioRepositorio>(); LoginUsuarioRequest loginUsuarioRequest = new LoginUsuarioRequest(); loginUsuarioRequest.Email = "*****@*****.**"; loginUsuarioRequest.Senha = "123456"; UsuarioCommandHandler usuarioCommand = new UsuarioCommandHandler(conexao); LoginUsuarioResponse response = (LoginUsuarioResponse)usuarioCommand.Handler(loginUsuarioRequest); Console.ReadKey(); }
public IActionResult Post([FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations, [FromBody] LoginUsuarioRequest login) { LoginUsuarioResponse loginResponse = (LoginUsuarioResponse)UsuarioCommand.Handler(login); bool credenciaisValidas = (loginResponse != null && loginResponse.Autenticado); if (credenciaisValidas) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(loginResponse.ID.ToString()), new[] { new Claim(JwtRegisteredClaimNames.UniqueName, loginResponse.Nome), new Claim(JwtRegisteredClaimNames.Email, loginResponse.Email), } ); DateTime dataCriacao = loginResponse.DataInicio; DateTime dataExpiracao = loginResponse.DataExpiracao; var handler = new JwtSecurityTokenHandler(); var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = tokenConfigurations.Issuer, Audience = tokenConfigurations.Audience, SigningCredentials = signingConfigurations.SigningCredentials, Subject = identity, NotBefore = dataCriacao, Expires = dataExpiracao }); var token = handler.WriteToken(securityToken); return(Ok ( new { authenticated = true, created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"), expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"), accessToken = token, message = "OK" } )); } else { return(BadRequest(new { autenticacao = false, messagem = "Falha ao autenticar" })); } }
public LoginUsuarioRespost AutenticaUsuario(LoginUsuarioRequest Request) { return(_usuarioRepositorio.AutenticaUsuario(Request)); }