예제 #1
0
        public Int32 Salvar(Usuario usuario, string senhaHash, AutenticacaoExecutor executor, BancoDeDados banco = null)
        {
            int ret = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bool flagAuditavel = false;
                try
                {
                    if (usuario == null)
                    {
                        throw new ApplicationException("Objeto usuário é nulo");
                    }

                    if (String.IsNullOrEmpty(senhaHash))
                    {
                        throw new ApplicationException("senha de usuário é nula");
                    }

                    if (String.IsNullOrEmpty(usuario.Login))
                    {
                        throw new ApplicationException("login de usuário é nulo");
                    }

                    if (executor.UsuarioId <= 0)
                    {
                        throw new ApplicationException("Executor Id de usuário é zero");
                    }

                    if (executor.Tipo <= 0)
                    {
                        throw new ApplicationException("Executor Tipo é zero");
                    }

                    if (String.IsNullOrEmpty(executor.Tid))
                    {
                        throw new ApplicationException("Executor Tid é nulo");
                    }

                    if (!UsuarioValidacao.FormatoLogin(usuario.Login))
                    {
                        throw new ApplicationException("Formato do login é inválido");
                    }


                    ret = _da.Salvar(usuario, senhaHash, executor, bancoDeDados);

                    flagAuditavel = true;
                }
                finally
                {
                    Auditoria.Evento(EventoAuditavel.Criar, usuario, flagAuditavel);
                }
            }

            return(ret);
        }
예제 #2
0
        public int ObterIdPorLogin(string login)
        {
            Usuario usuario = new Usuario();

            try
            {
                usuario.Login = login;
                return(_da.ObterLoginId(login));
            }
            finally
            {
                Auditoria.Evento(EventoAuditavel.Buscar, usuario);
            }
        }
예제 #3
0
        public void Deslogar(string login, AutenticacaoExecutor executor, bool deslogarForcado = false, BancoDeDados banco = null)
        {
            bool    flagAuditavel = false;
            Usuario usuario       = new Usuario();

            usuario.Login = login;
            try
            {
                _da.Deslogar(login, executor, deslogarForcado, banco);
                flagAuditavel = true;
            }
            finally
            {
                Auditoria.Evento(EventoAuditavel.Logout, usuario, flagAuditavel);
            }
        }
예제 #4
0
        public void AlterarSenha(Usuario usuario, String senhaHash, AutenticacaoExecutor executor, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bool flagAuditavel = false;
                try
                {
                    _da.AlterarSenha(usuario, senhaHash, executor, bancoDeDados);

                    flagAuditavel = true;
                }
                finally
                {
                    Auditoria.Evento(EventoAuditavel.AlterarSenha, usuario, flagAuditavel);
                }
            }
        }
예제 #5
0
 public void Autenticar(Usuario usuario, bool ehUsuarioValido, int executorTipo, BancoDeDados banco = null)
 {
     try
     {
         if (ehUsuarioValido)
         {
             AutenticacaoExecutor executor = new AutenticacaoExecutor()
             {
                 UsuarioId = usuario.Id, Tipo = executorTipo, Tid = usuario.TID
             };
             _da.Autenticar(usuario.Login, usuario.Id, usuario.Ip, executor, banco);
         }
     }
     finally
     {
         Auditoria.Evento((ehUsuarioValido) ? EventoAuditavel.Logon : EventoAuditavel.LogonFalha, usuario, ehUsuarioValido);
     }
 }