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(); } }
public string RetornaConexao(string itemConexao, Criptografia.TipoAcao tipoAcao) { return GetConnectionStringsSQL(itemConexao, tipoAcao); }
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(); }
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(); }