Usando brutauth e permissões no banco de dados

27 views
Skip to first unread message

Joatan

unread,
Oct 9, 2015, 6:09:25 PM10/9/15
to caelum-vraptor
Olá, sou novo em programação java web e resolvi desenvolver uma aplicação que precisa de diferentes permissões de usuário em vraptor 4. Pesquisando na internet achei que o brutauth resolve esse problema. Já fiz alguns teste e estou usando CustomBrutauthRule. Então por exemplo, tenho 2 autorizações: moderador e administrador. Baseado na explicação do github e em alguns fóruns eu criei 2 classes: public class DeveSerAdministrador e DeveSerModerador que, como no tutorial, implementam o CustomBrutauthRule. Para identificar o nível de acesso fiz um enum que tem MODERADOR, ADMINISTRADOR e o Usuario tem esse enum. No caso, cada usuário no banco de dados terá um campo dizendo se ele é moderador ou administrador. Minha questão é saber se essa é a maneira certa de identificar o nível de acesso do usuário no banco de dados e do uso do brutauth, fazer para cada nivel de acesso uma classe que implementa o brutauth. 

Leonardo Wolter

unread,
Oct 9, 2015, 8:01:25 PM10/9/15
to caelum-vraptor
Essa é uma maneira de resolver, porém tem outros modos:

Já que você tem um caso bem comum de autorização, poderia utilizar uma SimpleBrutauthRule mesmo e tratar os valores do seu enum como níveis em números (moderador é 1, admin é 100, etc)

Outra coisa que você poderia fazer é criar uma annotation em que você define que roles podem acessar tal método do controller e ler esta annotation na sua custom rule.
Você pode fazer isso injetando o ControllerMethod, que tem informações sobre o método do controller acessado.

Em ambos os modos você só teria que implementar uma rule

On Fri, Oct 9, 2015 at 7:09 PM Joatan <cjo...@gmail.com> wrote:
Olá, sou novo em programação java web e resolvi desenvolver uma aplicação que precisa de diferentes permissões de usuário em vraptor 4. Pesquisando na internet achei que o brutauth resolve esse problema. Já fiz alguns teste e estou usando CustomBrutauthRule. Então por exemplo, tenho 2 autorizações: moderador e administrador. Baseado na explicação do github e em alguns fóruns eu criei 2 classes: public class DeveSerAdministrador e DeveSerModerador que, como no tutorial, implementam o CustomBrutauthRule. Para identificar o nível de acesso fiz um enum que tem MODERADOR, ADMINISTRADOR e o Usuario tem esse enum. No caso, cada usuário no banco de dados terá um campo dizendo se ele é moderador ou administrador. Minha questão é saber se essa é a maneira certa de identificar o nível de acesso do usuário no banco de dados e do uso do brutauth, fazer para cada nivel de acesso uma classe que implementa o brutauth. 

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vrapto...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages