// neste método nós verificamos as permissões do usuário logado.
        // vemos aqui se ele tem as mesmas que a declarada no atributo.
        private bool TemAsPermissoesRequeridas(UsuarioLogado usuarioLogado)
        {
            // caso esta action precise de roles específicas, vamos pegar elas.
            string[] permissoesRequeridas = String.IsNullOrWhiteSpace(this.Roles) ?
                                                new string[0] : this.Roles.Split(';');

            foreach (string permissao in permissoesRequeridas)
            {
                if (!usuarioLogado.Permissoes.Contains(permissao))
                {
                    return false;
                }
            }

            return true;
        }
 public static void CriarSessaoDeUsuario(Usuario usuarioAutenticado)
 {
     var usuarioLogado = new UsuarioLogado(usuarioAutenticado);
     FormsAuthentication.SetAuthCookie(usuarioLogado.Email, true);
     HttpContext.Current.Session[USUARIO_LOGADO] = usuarioLogado;
 }