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 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); }
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); } }
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); } }