Controle de Autorizacao

15 respostas
F

Pessoal,

Qual seria uma maneira adequada de fazer o controle de autorizacoes nas paginas web?

Gostaria de saber como o pessoal trata isso na view. Por exemplo, tenho uma tela com N menus, mas o usuario enchergar 1, 2,3 ou N vai depender das autorizacoes que ele possui, eu ja fiz esse controle no meu dominio, mas to meio assim ainda de qual maneira seria melhor controlar isso na view ja que eu nao queria mostrar todos menus se o usuario nao possui autorizacao pra usa-lo.

Alguem?

]['s

15 Respostas

passos

Eu particularmente gosto de mostrar o menu completo e quando a pessoa tentar acessar da um acesso negado, tratando isso apenas na requisição e não na view

Thiago_Senna

Olá Fábio!

Eu nunca mechi com isso, mas vc já deu uma olhada no OSUser da OpenSynphony?

http://www.opensymphony.com/osuser/

Se ele ainda não é seu conhecido, dê uma olhada, talvez possa te ajudar! :wink:

Thiago Senna

F

Thiago Senna:
Olá Fábio!

Eu nunca mechi com isso, mas vc já deu uma olhada no OSUser da OpenSynphony?

http://www.opensymphony.com/osuser/

Se ele ainda não é seu conhecido, dê uma olhada, talvez possa te ajudar! :wink:

Thiago Senna

Thiago,

Obrigado, ja conheco ele sim. Meu problema nao ta em implementar a parte de autorizacao e autenticacao em si. Minha duvida é qual seria a melhor maneira de bloquear isso na view.

Opcoes:

  1. Esconder os menus que o usuario nao tem autorizacao para usar (claro mesmo assim eu valido no meu dominio a autorizacao).

  2. Mostrar todos os menus e deixar esse controle somente com meu dominio, ai quando o usuario nao possuir determinada autorizacao eu mostraria uma mensagem de acesso negado.

Eu particularmente nao gosto da opcao 2, visto que se o menu ta la é pq pode ser usado. S eo usuario nao pode usar entao nao mostra. Pelo menos essa é minha visao.

O que acha?

Thiago_Senna

É Fábio!

Entaum danou-se!

Assim como vc, eu prefiro a opão 1, ou seja, acho mais conveniente aparecer para o usuário apenas os menus que ele pode acessar! No entanto, eu não tenho a menor idéia de como isso poderia ser implementado. Nunca fiz isso antes, mas confesso que estou curioso…

Thiago

L

Fábio!!

Também sou mais a favor da opção 1, porém fica a pergunta: Como montar o menu omitindo as opções que o usuário não pode acessar?

-> Ifs que determinam o que pode ou não ser escrito na página ou bolar algo que traga somente as opções acessíveis?

rodrigo_gomes

Os usuários estão dentro de algum grupo ou algo do tipo?

F

Olá,

Pois é, esta é a minha duvida tambem. A duvida nao é em como fazer, mas sim qual a melhor opcao. Eu particularmente nao quero ter que montar em banco de dados uma estrutura com menus, telas e links.
Ja pensei em fazer com xml, mas é mais coisa pra incomodar na hora de instalar hehe.

Achei que pudesse ter algo meio pronto. Algum framework pra isso.

Estes dias eu tava olhando os fontes do Xplanner e vi que eles controlam na view as permissoes com uma taglib ± assim.

<xplanner:isUserAuthorized permission="sysadmin.delete"> ... </xplanner:isUserAuthorized>

Dentro desta tag fica o codigo html, que so é exibida se o usuario possuir a autorizaao necessaria.

É uma opcao tambem, mas como to usando velocity nao tava querendo ficar colocando if pra definir o que mostrar.
Pensei em criar umas tags pra ele, estilo o WW faz com os componentes html, mas ainda nao decidi nada, nao queria perder muito tempo com isso.

Mais alguem ?

]['s

F

Se o grupo ou tipo que tu fala é as roles a resposta é sim.

]['s

L

Cara, gostei muito da idéia de criar uma tag(função) no Velocity que controle isso!!! show de bola…

Porém, como tu pensa em dizer se o usuário tem acesso a tal item do menu, se não está a fim de armazenar a informação no BD ou XML?

Simpatizei legal com XML, acho muito mais viável e flexível do que armazenar em BD.

plentz

Lucashgt:
Porém, como tu pensa em dizer se o usuário tem acesso a tal item do menu, se não está a fim de armazenar a informação no BD ou XML?

Simpatizei legal com XML, acho muito mais viável e flexível do que armazenar em BD.

O XML fica legal quando se tem poucos usuários, mas quando a aplicação começa a crescer muito a manutenção de um XML fica mais difícil do que manter os dados em um banco de dados na minha opinião.

C

Dá uma olhada no JGuard.

L

diego_sl:
Lucashgt:
Porém, como tu pensa em dizer se o usuário tem acesso a tal item do menu, se não está a fim de armazenar a informação no BD ou XML?

Simpatizei legal com XML, acho muito mais viável e flexível do que armazenar em BD.

O XML fica legal quando se tem poucos usuários, mas quando a aplicação começa a crescer muito a manutenção de um XML fica mais difícil do que manter os dados em um banco de dados na minha opinião.

Bom, depende da forma como se vai trabalhar com o XML.
Eu não vejo muitos problemas uma vez que dispomos de APIs que facilitam o acesso a escrita e leitura dos mesmos, então, basta dar uma atenção maior ao se estruturar o “repositório de arquivos do XML”.

Ainda acho o XML a solução mais viável para situações.

F

Hm…pelo controle de permissoes dele assim como eu verifico se usuario pode fazer tal coisa no meu dominio.

]['s

F

Legal,

Apesar de eu ja ter feito a parte de autenticar e autorizar em si. Mas gostei dessa parte aqui

http://jguard.sourceforge.net/13.php

Nao esta muito longe do que eu to pensando.

]['s

rodrigo_gomes

ainda acho essa a melhor opção…

Criado 25 de julho de 2005
Ultima resposta 25 de jul. de 2005
Respostas 15
Participantes 7