Oi Pablo!
Cara, eu particularmente não gostei muito do BrutAuth. No fim, depois de bastante pesquisa e várias tentativas com alguns frameworks, acabei optando por implementar um controle de autorização meu.
Meu controle de autorização é baseado em 3 entidades: usuário, perfil, permissão. O usuário pode pertencer a vários perfis. Cada perfil está relacionado a N permissões.
Transferindo essa estrutura para uma base de dados, tenho 5 tabelas: user, user_profile, profile, profile_permission, permission, onde as tabelas user_profile e profile_permission contém apenas as chaves estrangeiras (para o relacionamento N:N).
Com essas tabelas, fiz um interceptor no VRaptor que é chamado somente quando meu método tem a annotation @Security("aqui uma permission").
Nesse interceptor eu verifico o valor fornecido na annotation e comparo com as permissões que o usuário tem.
Se ele tiver autorização, continua, se não eu retorno um 401 Unauthorized.
Qualquer coisa estamos aí =)
Abs,
José Filipe Lyra