public bool ValidarUsuario(Usuario usuario)
        {
            var resourceUri = default(string);
            try
            {
                DbCommand _cmd;
                Database _db = DbConn.CreateDB();
                //_cmd = _db.GetSqlStringCommand(String.Format("SELECT * FROM Usuario where UserName = @UserName;"));
                _cmd = _db.GetStoredProcCommand("Get_Usuario");
                _db.AddInParameter(_cmd, "@UserName", DbType.String, usuario.NomeUsuario);
                _db.AddInParameter(_cmd, "@Senha", DbType.String, usuario.Senha);

                List<Usuario> _usuarios = new List<Usuario>();
                using (IDataReader _dr = _db.ExecuteReader(_cmd))
                {
                    while (_dr.Read())
                    {
                        //_usuarios.Add(new Usuario { ID = Guid.Empty, Senha = _dr["Senha"].ToString() });
                        _usuarios.Add(new Usuario { ID = int.Parse(_dr["UserId"].ToString()), Senha = _dr["Senha"].ToString(), Bloqueado = int.Parse(_dr["Bloqueado"].ToString()) });
                    }
                }

                Criptografia _cripto = new Criptografia();
                Util _utils = new Util();

                if (_usuarios.Count == 0) { throw new Exception("Login ou senha inválida. Favor verificar!."); }

                if (_usuarios[0].Bloqueado == 1) { throw new Exception("Usuário Bloqueado, contate o administrador."); }

                //TODO: 11/03/2016 Comentando aqui, estava criptografando novamente e deixando sempre a senha diferente.
                //usuario.Senha = _cripto.Executar(usuario.Senha.Trim(), _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);

                if (usuario.Senha.Trim() == _usuarios[0].Senha.Trim())
                {
                    return true;
                }
                else
                {
                    { throw new Erro("Usuário não localizado."); }
                }

                //return usuario.Senha.Trim() == _usuarios[0].Senha.Trim();

                //this._consumer.Post<Usuario>("ValidarUser_Post", usuario, out resourceUri);
            }
            catch (Exception ex) { throw new Exception(ex.Message); }
            //catch (Exception ex) {throw ex; }
            //catch (Exception ex) { this._logger.Error(ex.Message, ex); throw ex; }
        }
        public ActionResult Autenticar(LoginViewModel model, string returnUrl)
        {
            var log = new LogRepository();

            AbandonarSessao();

            if (ModelState.IsValid)
            {
                try
                {
                    var _cripto = new Criptografia();
                    var _utils = new Util();
                    string _senha = _cripto.Executar(model.Senha.Trim().ToString(), _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);

                    bool valido = this._usuarioService.ValidarUsuario(model.NomeUsuario, _senha);

                    if (valido)
                    {
                        // TODO:14/04/2016
                        var ret = new UsuarioRepository().VerificaServicoPerfil(model.NomeUsuario, _senha);
                        if (ret.CodigoRetorno != 0)
                        {
                            //return RedirectToRoute("Logout", new { msg = ret.Mensagem });
                            return RedirectToAction("Index", new { msg = ret.Mensagem });
                        }

                        //TODO: Andre 27/04/2016 int _idUsuario = new UsuarioRepository().GetUsuario(model.NomeUsuario).ID;
                        Session["ClsUsuario"] = (Usuario)new UsuarioRepository().GetUsuarioSessao(model.NomeUsuario);

                        bool _autenticado = this._authenticatioService.AuthenticateUser(this.HttpContext, model.NomeUsuario, model.Senha, model.ManterConectado);
                        if (_autenticado)
                        {
                            Session["NomeUsuario"] = model.NomeUsuario;

                            //TODO: 07/03/2016 Verifica se foi selecionado o Relembre-me e cria um cokie para armazenar o nome do usuário.
                            if (Request.Cookies["Login"] == null)
                            {
                                if (model.ManterConectado)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = model.NomeUsuario;
                                    cokLogin["lembrarnome"] = "sim";
                                    cokLogin.Expires = DateTime.Now.AddDays(1d);
                                    Response.Cookies.Add(cokLogin);
                                }
                            }
                            else
                            {
                                if (model.ManterConectado)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = model.NomeUsuario;
                                    cokLogin["lembrarnome"] = "sim";
                                    Response.Cookies.Set(cokLogin);
                                }
                                if (model.ManterConectado == false)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = "";
                                    cokLogin["lembrarnome"] = "nao";
                                    Response.Cookies.Set(cokLogin);
                                }
                            }

                            var cli = new ClienteRepository();
                            cli.PrimeiroClienteServicoPadrao(model.NomeUsuario, model.Senha);

                            if (cli.Servico == null)
                            {
                                return RedirectToAction("Index", new { msg = "Nenhum Cliente e Serviço Padrão selecionado. Por favor,  entre em contato com o administrador do sistema." });
                                //TempData["Error"] = "Nenhum Cliente e Serviço Padrão selecionado...";
                            }

                            Session["IdCliente"] = cli.TCliente.ID;
                            Session["NomeCliente"] = cli.TCliente.Descricao;
                            Session["NomeServico"] = cli.Servico;
                            Session["IdServico"] = cli.idServico;//aqui

                            //TODO: Andre 10/05/2016
                            var usu = new Usuario(){ ID=UsuarioAtual.ID, ServicoID=cli.idServico, ClienteID=cli.TCliente.ID};
                            var retorno = new LicensaRepository().CarregaLicensa(usu, 1);
                            if (retorno.CodigoRetorno < 0)
                            {
                                ViewBag.Atencao = retorno.Mensagem;
                                TempData["Msg"] = retorno.Mensagem;
                            }
                            else
                            {
                                // LOG: Login Autenticado -- Cesar
                                log.RegistrarLOG(cli.TCliente.ID, cli.idServico, 0, 0, 1, 1, 0, 0, model.NomeUsuario);
                                log.RegistrarLOGDetalhe(1, model.NomeUsuario);

                                return RedirectToRoute(new { action = "../Home", controller = "", area = "" });// Redirect (returnUrl ?? FormsAuthentication.DefaultUrl);

                            }

                        }

                        FormsAuthentication.SetAuthCookie(model.NomeUsuario, false);
                    }
                }
                catch (Exception ex) {
                    //ModelState.AddModelError("Error", ex.Message);
                    //LOG: Login Não Autenticado
                    log.RegistrarLOG(0, 0, 0, 0, 1, 2, 0, 0, model.NomeUsuario);
                    log.RegistrarLOGDetalhe(2, model.NomeUsuario);
                    ViewBag.Atencao = ex.Message;
                    TempData["Msg"] = ex.Message;
                }
            }
            return View("Index");
        }
        public ActionResult TrocarSenha(FormCollection frm)
        {
            try
            {
                var _cripto = new Criptografia();
                var _utils = new Util();

                string senha_atual = _cripto.Executar(frm["txt_senha_atual"].Trim().ToString(), _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);
                string senha_nova =  _cripto.Executar(frm["txt_senha_nova"].Trim().ToString(), _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);

                var ret = new UsuarioRepository().AtualizarSenha(UsuarioAtual.ID, senha_atual, senha_nova);
                if (ret.CodigoRetorno >= 0)
                {
                    TempData["Msg"] = ret.Mensagem.ToString();
                    return RedirectToRoute("Principal");
                    //return View("TrocaSenha");
                }
                else
                {
                    throw new Exception(ret.Mensagem.ToString());
                }
            }
            catch (Exception ex)
            {
                //TempData["Error"] = ex.Message;
                TempData["Msg"] = ex.Message;
                //ViewBag.MsgError = ex.Message;
                return View("TrocaSenha");
            }
        }
        /// <summary>
        /// Retorna dados o serviço padrão
        /// </summary>
        /// <Autor>AndreSombra</Autor>
        /// <DataInicio>16/11/2015</DataInicio>
        /// <param name="nomeUsuario"></param>
        public void PrimeiroClienteServicoPadrao(string nomeUsuario, string senha)
        {
            var _cripto = new Criptografia();
            var _utils = new Util();

            string _senha = _cripto.Executar(senha, _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);

            string cmd = string.Format("exec Proc_GET_ServicoDefault '{0}','{1}'", nomeUsuario, _senha);
            var lista = new DbConn().RetornaDados(cmd);
            foreach (DataRow item in lista.Rows)
            {
                TCliente.ID = int.Parse(item["IdCliente"].ToString());
                TCliente.Descricao = item["CLiente"].ToString();
                this.idServico = int.Parse(item["IdServico"].ToString());
                this.Servico = item["Servico"].ToString();
            }
        }
Exemplo n.º 5
0
 public string RetornaConexao(string itemConexao, Criptografia.TipoAcao tipoAcao)
 {
     return GetConnectionStringsSQL(itemConexao, tipoAcao);
 }
Exemplo n.º 6
0
        public string GetConnectionStringsSQL(string itemConexao, Criptografia.TipoAcao tipoAcao)
        {
            string conexaoTratada = string.Empty;
                string[] conexao = ConfigurationManager.ConnectionStrings[itemConexao.Trim()].ToString().Split(';');

                foreach (string item in conexao)
                {
                    if (!string.IsNullOrEmpty(item.Trim()))
                    {
                        string[] parametro = item.Trim().Split('=');
                        if (parametro[0].Trim().ToUpper() == "SERVER" || parametro[0].Trim().ToUpper() == "DATABASE" ||
                            parametro[0].Trim().ToUpper() == "USER ID" || parametro[0].Trim().ToUpper() == "PASSWORD")
                        {
                            //parametro[1] = _cripto.Executar(parametro[1].Trim(), _chaveCripto, Criptografia.TipoNivel.Baixo, tipoAcao, Criptografia.TipoCripto.Números);
                            parametro[1] = _cripto.Executar(parametro[1].Trim(), _chaveCripto, Criptografia.TipoNivel.Baixo, tipoAcao, Criptografia.TipoCripto.Números);
                        }
                        conexaoTratada = string.Concat(conexaoTratada.Trim(), parametro[0].Trim(), "=", parametro[1].Trim(), ";");
                    }
                }
                return conexaoTratada.Trim();
        }
Exemplo n.º 7
0
 public string GetConnectionStringsAccess(string itemConexao, Criptografia.TipoAcao tipoAcao, bool usarAppPath)
 {
     string conexaoTratada = string.Empty;
         string[] conexao = ConfigurationManager.ConnectionStrings[itemConexao.Trim()].ToString().Split(';');
         foreach (string item in conexao)
         {
             if (!string.IsNullOrEmpty(item.Trim()))
             {
                 string[] parametro = item.Trim().Split('=');
                 if (parametro[0].Trim().ToUpper() == "DATA SOURCE")
                 {
                     parametro[1] = _cripto.Executar(parametro[1].Trim(), _chaveCripto, Criptografia.TipoNivel.Baixo, tipoAcao, Criptografia.TipoCripto.Números);
                     if (usarAppPath)
                     {
                         if (parametro[1].Substring(0, 1) == @"\") { parametro[1] = parametro[1].Substring(1); }
                         parametro[1] = Path.Combine(_funcoes.AppPath(), parametro[1]);
                     }
                 }
                 else if (parametro[0].Trim().ToUpper() == "JET OLEDB:DATABASE PASSWORD")
                 {
                     parametro[1] = _cripto.Executar(parametro[1].Trim(), _chaveCripto, Criptografia.TipoNivel.Baixo, tipoAcao, Criptografia.TipoCripto.Números);
                 }
                 conexaoTratada = string.Concat(conexaoTratada.Trim(), parametro[0].Trim(), "=", parametro[1].Trim(), ";");
             }
         }
         return conexaoTratada.Trim();
 }