/// <summary> /// Faz a alteração do acesso /// </summary> /// <param name="acesso">The acesso.</param> public void Alter(ControleDeAcesso acesso) { var tran = session.BeginTransaction(); session.Merge(acesso); tran.Commit(); }
/// <summary> /// Adiciona um novo controle de acesso /// </summary> /// <param name="acesso">The acesso.</param> public void Add(ControleDeAcesso acesso) { var tran = session.BeginTransaction(); session.Save(acesso); tran.Commit(); }
/// <summary> /// Exclui um controle de acesso /// </summary> /// <param name="acesso">The acesso.</param> public void Delete(ControleDeAcesso acesso) { var tran = session.BeginTransaction(); session.Delete(acesso); tran.Commit(); }
public ActionResult Alterar(AcessoModelView modelView) { if (!ModelState.IsValid) { return(View(modelView)); } //Modificações do Acesso ControleDeAcesso acessoModificado = acessoDAO.GetById(modelView.Id); acessoModificado.Motivo = modelView.Motivo; acessoModificado.Visitado = modelView.Visitado; Visitante visitante = visitanteDAO.GetById(modelView.IdVisitante); visitante.FotoBase64 = modelView.Foto; visitante.FotoId = modelView.Foto.GetHashMD5(); //persiste o visitante visitanteDAO.Alter(visitante); //Persiste o acesso acessoDAO.Alter(acessoModificado); return(RedirectToAction("Index")); }
protected override bool IsAuthorized(HttpActionContext actionContext) { if (actionContext.ActionDescriptor.GetCustomAttributes <DontAuthorizeFilterApiAttribute>().Any()) { return(true); } return(ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).InformacoesUsuario != null); }
public static PortalApiModel.RetornoTransicionarSistema TransicionarSistema(PortalApiModel.TransicionarSistema parametros) { // WebReturn <bool> retr = new WebReturn <bool>(); try { PortalApiModel.RetornoTransicionarSistema retorno = new PortalApiModel.RetornoTransicionarSistema(); // ControleDeAcessoTO.ObterSistemasPermitidos sistemaSelecionado; if (ControleDeAcesso.MODODESENVOLVIMENTO == 0) { sistemaSelecionado = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).SistemasPermitidos.Where(x => x.CODSISINF == parametros.CODSISINF).FirstOrDefault(); } else { sistemaSelecionado = new ControleDeAcessoTO.ObterSistemasPermitidos() { DESURLLNK = ControleDeAcesso.URLSISTEMAMODODESENVOLVIMENTO } }; if (sistemaSelecionado != null) { var PRIVATEKEY = GerarChavePrivada(); var codFnc = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).InformacoesUsuario.CODFNC; // retorno.PUBLICTOKEN = Encriptar(PRIVATEKEY, new JavaScriptSerializer().Serialize(new ControleDeAcesso.ParametrosCriptografia() { ParametrosTransicao = parametros, CODFNC = codFnc })); // retorno.PUBLICKEY = CalcularMD5(PRIVATEKEY); retorno.DESURLLNK = sistemaSelecionado.DESURLLNK + CAMINHOAPISISTEMAS + "?PUBLICKEY=" + HttpUtility.UrlEncode(retorno.PUBLICKEY) + "&PUBLICTOKEN=" + HttpUtility.UrlEncode(retorno.PUBLICTOKEN); // lock (ControleDeAcesso.PENDINGTOKENS) ControleDeAcesso.PENDINGTOKENS.Add(new ControleDeAcesso.PENDINGTOKEN () { DTEXP = DateTime.Now.AddSeconds(10), PRIVATEKEY = PRIVATEKEY, PUBLICKEY = retorno.PUBLICKEY }); } return(retorno); } catch (Exception ex) { retr.Code = 1; retr.Message = ex.Message; Utilitarios.CriaLogErro(ex); Utilitarios.InserirLog(ex, System.Reflection.MethodInfo.GetCurrentMethod().Name, string.Join(";", System.Reflection.MethodInfo.GetCurrentMethod().GetParameters().Select(val => val.Name)), ex.GetType().Name, "ERRO TRANSACIONAR SISTEMA.!!"); return(null /* TODO Change to default(_) if this is not a reference type */); } }
public ActionResult GerarSaida(ControleDeAcesso model) { var acesso = acessoDAO.GetById(model.Id); acesso.DataSaida = model.DataSaida; //Persiste o acesso acessoDAO.Alter(acesso); return(RedirectToAction("Index")); }
public ActionResult Excluir(AcessoModelView modelView) { ControleDeAcesso acesso = acessoDAO.GetById(modelView.Id); if (acesso.DataSaida == null) { acessoDAO.Delete(acesso); return(RedirectToAction("Index")); } return(View("NaoExclui")); }
public LoginApiModel.RetornoEfetuarLogin EfetuarLogin(LoginApiModel.EfetuarLogin parametros) { var ret = new LoginApiModel.RetornoEfetuarLogin(); // var grupos = ControleDeAcesso.AutenticaUsuario(parametros.USUARIO, parametros.SENHA); if (grupos == null || grupos != null && grupos.Count > 0) { var loginObj = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session, parametros.USUARIO, grupos); if (loginObj.InformacoesUsuario == null) { ret.MENSAGEM = "Usuário não existente na base de dados."; } else { // if ((grupos != null)) { List <string> GruposSmart = new List <string>(); // grupos.ForEach(Item => { if ((Item.ToUpper().StartsWith("SMART."))) { GruposSmart.Add(Item); } }); // if ((GruposSmart != null && GruposSmart.Count > 0)) { ControleDeAcessoBLL BLL = new ControleDeAcessoBLL(); BLL.ValidarGrupoSistemas(loginObj.InformacoesUsuario.CODFNC, GruposSmart); // loginObj = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session, parametros.USUARIO, grupos); } } // if (loginObj.SistemasPermitidos.Count == 0) { ret.MENSAGEM = "Usuário sem permissão de acesso associada."; } else { ret.CODIGO = 1; } } } else { ret.MENSAGEM = "Usuário ou senha incorretos."; } // return(ret); }
public static void InserirLog(Exception ex, string metodo, string parametro, string camada, string mensagem) { RestClient client = new RestClient(string.Format("{0}/{1}", Constantes.WebApiLog, Constantes.InserirLog)); RestRequest request = new RestRequest(); request.Method = Method.POST; string MessagemL = "Portal Acesso Smart: " + mensagem + ": " + Environment.NewLine + Environment.NewLine + "Verifique a mensagem de erro a seguir para solucionar o problema." + Environment.NewLine + Environment.NewLine + ex.Message + Environment.NewLine + Environment.NewLine + "Metodo: " + ex.TargetSite.DeclaringType.FullName + ex.TargetSite.Name + Environment.NewLine + Environment.NewLine + "Origem: " + ex.Source + Environment.NewLine + Environment.NewLine + "Pilha de execução: " + ex.StackTrace; string MessagemReduzida = ""; string Parametro = ""; if (ex.Message.Length < 600) { MessagemReduzida = ex.Message; } else { MessagemReduzida = ex.Message.Substring(0, 600); } if (parametro.Length > 70) { Parametro = parametro.Substring(0, 70); } else { Parametro = parametro; } int codfnc = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).InformacoesUsuario != null?ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).InformacoesUsuario.CODFNC : 0; ControleLog param = new ControleLog() { CODSISINF = 0, CODFNC = codfnc, DESMDO = metodo, DESPMTSIS = Parametro, DESCAMERR = camada, DESERRRDC = MessagemReduzida, DESERRDDO = MessagemL }; string body = JsonConvert.SerializeObject(param); request.AddParameter("application/json", body, ParameterType.RequestBody); IRestResponse response = client.Execute(request); WebReturn <bool> api = JsonConvert.DeserializeObject <WebReturn <bool> >(response.Content); }
/// <summary> /// Builds the model. /// </summary> /// <param name="modelView">The model view.</param> /// <returns></returns> public static ControleDeAcesso BuildModel(AcessoModelView modelView) { ControleDeAcesso controleDeAcesso = new ControleDeAcesso(); controleDeAcesso.DataEntrada = modelView.DataEntrada; controleDeAcesso.DataSaida = modelView.DataSaida; controleDeAcesso.Id = modelView.IdAcesso; controleDeAcesso.Motivo = modelView.Motivo; controleDeAcesso.IdCartao = modelView.IdCartao; controleDeAcesso.Visitado = modelView.Visitado; controleDeAcesso.Visitante = new Visitante(); return(controleDeAcesso); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { if (actionDesc.GetCustomAttributes(typeof(DontAuthorizeFilterMvcAttribute), false).Any()) { return(true); } if (ReferenceEquals(ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session).InformacoesUsuario, null)) { httpContext.Response.Redirect("~/Paginas/Login/Index"); return(false); } else { return(true); } }
/// <summary> /// Builds the model view. /// </summary> /// <param name="acesso">The acesso.</param> /// <returns></returns> public static AcessoModelView BuildModelView(ControleDeAcesso acesso) { AcessoModelView modelView = new AcessoModelView() { DataEntrada = acesso.DataEntrada, DataSaida = acesso.DataSaida, IdAcesso = acesso.Id, IdCartao = acesso.IdCartao, Motivo = acesso.Motivo, IdVisitante = acesso.Visitante.Id, Documento = acesso.Visitante.Documento, Empresa = acesso.Visitante.Empresa, Nome = acesso.Visitante.Nome, Rg = acesso.Visitante.Rg, Telefone = acesso.Visitante.Telefone, Visitado = acesso.Visitado, Foto = "" }; return(modelView); }
protected override bool AuthorizeCore(HttpContextBase hContext) { var infoUsr = ControleDeAcesso.ObterConjuntoDePermissoesUsuario(HttpContext.Current.Session); if (hContext.Session["URLsAutorizadas"] != null) { // var URLs = (List <string>)(hContext.Session["URLsAutorizadas"]); if (URLs.Where(x => x.Equals(hContext.Request.Url.AbsolutePath)).Count() > 0) { return(true); } else { return(false); } } else { return(true); } }
public static ControleDeAcesso.ConjuntoDePermissoesUsuarioModulos ObterInformacoesUsuario(PortalApiModel.ObterInformacoesUsuario parametros) { // WebReturn <bool> retr = new WebReturn <bool>(); try { ControleDeAcesso.ConjuntoDePermissoesUsuarioModulos retorno = null /* TODO Change to default(_) if this is not a reference type */; // var pendingToken = ControleDeAcesso.PENDINGTOKENS.Where(x => x.PUBLICKEY == parametros.PUBLICKEY).FirstOrDefault(); if (pendingToken != null) { var desCriptografia = Decriptar(pendingToken.PRIVATEKEY, parametros.PUBLICTOKEN); var parametrosDescriptografados = new JavaScriptSerializer().Deserialize <ControleDeAcesso.ParametrosCriptografia>(desCriptografia); if (parametrosDescriptografados.ParametrosTransicao.CODSISINF == parametros.CODSISINF) { lock (ControleDeAcesso.PENDINGTOKENS) ControleDeAcesso.PENDINGTOKENS.Remove(pendingToken); retorno = ControleDeAcesso.ObterConjuntoDeModulosUsuario(parametrosDescriptografados.CODFNC, parametrosDescriptografados.ParametrosTransicao.CODSISINF); } } // return(retorno); } catch (Exception ex) { retr.Code = 1; retr.Message = ex.Message; Utilitarios.CriaLogErro(ex); Utilitarios.InserirLog(ex, System.Reflection.MethodInfo.GetCurrentMethod().Name, string.Join(";", System.Reflection.MethodInfo.GetCurrentMethod().GetParameters().Select(val => val.Name)), ex.GetType().Name, "ERRO AO OBTER INFORMAÇÕES DO USUARIO.!!"); return(null /* TODO Change to default(_) if this is not a reference type */); } }
public ActionResult Incluir(AcessoModelView model) { if (!ModelState.IsValid) { return(View(model)); } //Transforma em visitante a modelView dos acessos Visitante visitante = VisitanteFactory.BuildModel(model); //Cria um controle de Acesso com base na modelView ControleDeAcesso acesso = ControleDeAcessoFactory.BuildModel(model); acesso.DataEntrada = DateTime.Now; //Adiciona o visitante no controle de acesso acesso.Visitante = visitante; //Grava quem fez o registro Usuario user = (Usuario)Session["usuario"]; acesso.Usuario = user; acesso.DataInclusao = DateTime.Now; //Verifica se o visitante já está na base antes de persisti-lo Visitante visita = visitanteDAO.GetByDocumento(visitante.Documento); if (visita == null) { visitante.Nome = visitante.Nome.ToUpper(); visitante.Empresa = visitante.Empresa.ToUpper(); visitante.FotoId = visitante.FotoBase64.GetHashMD5(); //Persiste o Visitante visitanteDAO.Add(visitante); //Persiste o acesso acessoDAO.Add(acesso); return(RedirectToAction("Index")); } //verifica se o visitante não está bloqueado antes de persistir o acesso if (visita.Bloqueado) { ModelState.AddModelError("BLQ", "Visitante bloqueado!"); return(View(model)); } //Altera o visitante com a nova Foto visita.FotoBase64 = model.Foto; visita.FotoId = model.Foto.GetHashMD5(); visitanteDAO.Alter(visita); //Persiste o acesso acesso.Visitante = visita; acessoDAO.Add(acesso); return(RedirectToAction("Index")); }