public static bool VerificaPermissao(HttpContext httpContext, FuncionalidadeEnum funcionalidade, AcaoEnum acao) { bool autorizado = false; if (httpContext.Session.IsAvailable) { var dados = httpContext.Session.GetString("Perfil"); if (dados != null) { var perfil = JsonConvert.DeserializeObject <PerfilViewModel>(dados); if (perfil != null) { var funcionalide = perfil.Permissoes.SingleOrDefault(x => x.Funcionalidade == funcionalidade); if (funcionalide != null) { autorizado = ((funcionalide.Acoes & (int)acao) == (int)acao); } } } } return(autorizado); }
public AuthorizeActionFilter(FuncionalidadeEnum funcionalidade, AcaoEnum acao) { this.funcionalidade = funcionalidade; this.acao = acao; }
public static bool TemPermissao(this IHtmlHelper html, FuncionalidadeEnum funcionalidade, AcaoEnum acao) { return(VerificaPermissao(html.ViewContext.HttpContext, funcionalidade, acao)); }
public TemPermissaoAttribute(FuncionalidadeEnum item, AcaoEnum action) : base(typeof(AuthorizeActionFilter)) { Arguments = new object[] { item, action }; }