Advertisement
Guest User

Untitled

a guest
Aug 27th, 2015
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
  2. public class MeuAuthorize : AuthorizeAttribute
  3. {
  4. private String[] _permissoes;
  5. private MeuProjetoContext contexto = new MeuProjetoContext();
  6.  
  7. public CustomAuthorizeAttribute(params String[] permissoes)
  8. {
  9. _permissoes = permissoes;
  10. }
  11.  
  12. protected override bool AuthorizeCore(HttpContextBase httpContext)
  13. {
  14. var baseReturn = base.AuthorizeCore(httpContext);
  15.  
  16. var permissoesReturn = false;
  17. var permissoesUsuario = contexto.Permissoes.Where(p => p.Usuario.Nome == httpContext.User.Identity.Name).Select(p => NomePermissao).ToList();
  18. permissoesReturn = permissoesUsuario.Intersect(_permissoes.OfType<String>().ToList()).Any();
  19.  
  20. return permissionsReturn || baseReturn;
  21. }
  22. }
  23.  
  24. [MeuAuthorize("Usuário", "Gerente", "Administrador")]
  25. public ActionResult MinhaAction() { ... }
  26.  
  27. [MeuAuthorize]
  28. public ActionResult MinhaAction() { ... }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement