public UsuarioLogado EfetuaLoginSistema(string email, string senha, string ip, string nomeMaquina)
        {
            LimpaValidacao();
            if (string.IsNullOrEmpty(email))
                IncluiErroBusiness("Usuario_Email");

            if (string.IsNullOrEmpty(senha))
                IncluiErroBusiness("Usuario_Senha");

            UsuarioLogado retorno = null;
            if (IsValid())
            {
                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario itemBase = bizUsuario.RetornaUsuario_Email(email);

                if (itemBase == null)
                    IncluiErroBusiness("Usuario_EmailInvalido");

                if (IsValid() && !PasswordHash.ValidatePassword(senha, itemBase.Senha))
                    IncluiErroBusiness("Usuario_SenhaInvalida");

                if (IsValid())
                {
                    retorno = new UsuarioLogado();
                    retorno.Id = itemBase.Id.Value;
                    retorno.DataHoraAcesso = DateTime.Now;
                    retorno.Email = itemBase.Email;
                    retorno.Nome = itemBase.Nome;
                    retorno.WorkstationId = nomeMaquina;

                    PerfilUsuarioBusiness bizPerfilUsuario = new PerfilUsuarioBusiness();
                    IList<string> listFuncionalidade = bizPerfilUsuario.RetornaFuncionalidades_UsuarioId((int)itemBase.Id);

                    retorno.Token = GeraToken(email, string.Join(",", listFuncionalidade));
                }

            }
            return retorno;
        }
Пример #2
0
        /// <summary>
        /// GravaLog
        /// </summary>
        /// <param name="tipoAcao"></param>
        /// <param name="emailAutenticado"></param>
        /// <param name="funcionalidadeId"></param>
        /// <param name="registroId"></param>
        protected void GravaLog(string funcionalidade, string emailAutenticado, int? registroId)
        {
            try
            {
                LogBusiness biz = new LogBusiness();
                string ipMaquina = string.Empty;
                string nomeMaquina = Dns.GetHostName();
                //IPAddress[] ip = Dns.GetHostAddresses(nomeMaquina);
                //ipMaquina = ip[1].ToString();
                ipMaquina = "127.0.0.1";

                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario usuario = bizUsuario.RetornaUsuario_Email(emailAutenticado);

                biz.SalvaLog(new Log() { Acao = funcionalidade, DataInclusao = DateTime.Now, OrigemAcesso = nomeMaquina, RegistroId = registroId, IpMaquina = ipMaquina, UsuarioId = usuario.Id });
            }
            catch
            {
                //vazio, pois o erro de gravação de log não pode interromper o processamento.
            }
        }
        public void ValidaRegrasGerarNovaSenha(ref Usuario itemGravar)
        {
            LimpaValidacao();
            if (string.IsNullOrEmpty(itemGravar.Email))
                IncluiErroBusiness("Usuario_Email");

            if (IsValid())
            {
                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario itemBase = bizUsuario.RetornaUsuario_Email(itemGravar.Email);

                if (itemBase == null)
                    IncluiErroBusiness("Usuario_EmailInvalido");

                if (IsValid())
                    itemGravar = itemBase;
            }
        }
        public void ValidaRegrasAlterarSenha(ref Usuario itemGravar)
        {
            LimpaValidacao();
            if (string.IsNullOrEmpty(itemGravar.Email))
                IncluiErroBusiness("Usuario_Email");

            if (string.IsNullOrEmpty(itemGravar.Senha))
                IncluiErroBusiness("Usuario_Senha");

            if (string.IsNullOrEmpty(itemGravar.NovaSenha))
                IncluiErroBusiness("Usuario_NovaSenha");

            if (string.IsNullOrEmpty(itemGravar.SenhaConfirmacao))
                IncluiErroBusiness("Usuario_NovaSenhaConfirmacao");

            if (IsValid())
            {
                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario itemBase = bizUsuario.RetornaUsuario_Email(itemGravar.Email);

                if (itemBase == null)
                    IncluiErroBusiness("Usuario_EmailInvalido");

                if (IsValid() && !PasswordHash.ValidatePassword(itemGravar.Senha, itemBase.Senha))
                    IncluiErroBusiness("Usuario_SenhaInvalida");

                if(IsValid())
                {
                    itemBase.Senha = itemGravar.NovaSenha;
                    itemBase.SenhaConfirmacao = itemGravar.SenhaConfirmacao;
                    itemGravar = itemBase;
                }
            }
        }