Limitar acesso de usuários para ver páginas com params.id
19/04/2010 00:00
0
Como limitar o acesso de usuários para estes terem acesso somente as views contendo seu ID na URL?

Estou pensando assim:

params.id.equals(session.usuarioAutenticadoContato.id)


Posso fazer um if comparando o id usuarioAutenticado do o params.id na View? Isso pode ser feito? Como fazer?

Obrigado pela força Comunidade Grails!
Tags: Grails


0
Oi arquimedes,

o que você poderia fazer neste caso é criar um filtro que verificasse se entre os parametros passados há o parametro id ou não.

Não existindo, simplesmente barraria a entrada de usuários não autenticados.


0
Sim! Estou verificando se o usuário está autenticado. Porém se o usuário inserir na url outro id ele poderá "ver" os dados de outros usuários, isso eu não quero que aconteça! :S

Falou!
19/04/2010 00:00


0
Também estou com esta mesma dúvida... alguém sabe como resolver isso?
09/05/2013 16:25


0
Olá.

Amigo, lembre que "id" é usado por todas as entidades em um projeto Grails (a não ser que tenha feito eng. reversa de tabelas que não sigam essa abordagem).

Você quer filtrar apenas isso para determinado Controlador, é isso? Por que se for para todo o projeto a coisa complica pelo motivo supracitado.

O único jeito de resolver isso para o projeto todo é adotar outro padrão de nome para o "id" do usuário. Algo como "idUsuario". Dai, criar 1 filtro resolve teu problema.

Ou então você pode simplesmente abdicar de passar isso via parâmetro e sempre pegar o id do usuário autenticado. Assim não precisa fazer comparação nenhuma.


0
Minha solução para este problema foi a seguinte:

Como eu não uso o spring security, acabei criando meu próprio modelo de autenticação.

- Tabela de Permissão (Todas as rotinas do sistema que precisam ter permissão para acesso)
- - id
- - nome
- - url ( aqui que eu resolvi o problema )

Se você precisar, pode até incluir o nome do controller.

Tenho um filtro para que verifica o endereço que o usuário está querendo ir, se o controller for permitido para ele, beleza, caso contrário, redireciono para a tela principal com a mensagem de acesso não autorizado.

Esse resolve o problema de url, agora para deixar ele ver apenas o que foi cadastrado por ele (que foi um requisito que tive apenas em 1 parte do sistema) eu inclui ele no sql.

É simples mais funciona. eheheh
11/05/2013 13:38



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto