Restrição de acesso
24/07/2016 14:18
0
Boa tarde!

Eu estou com um problema na aplicação que estou criando, ela tem três tipo de usuários (admin, avaliador, usuário comum), conseguir restringir o acesso dos três, cada um tem um acesso diferente, existem vários usuários comum que tem a função de enviar informações para serem avaliadas. Ai que surge o problema quando envio informações de um usuário comum, essas informações ficam listadas, mas quando eu entro com outro usuário comum consigo ver essas informações enviadas por todos os usuários comum.
Como posso fazer para que o usuário comum visualize somente as informações envidas por ele.
Tags: Grails


0
O que você tem ai não um problema de restrição de acesso. O perfil tem acesso a funcionalidade e isso esta correto.
O que você tem que fazer é quando o usuário acessar sua aplicação e o perfil dele for comum listar apenas as informações que aquele usuário enviou.
Na hora de listar você tem que filtrar pelo ID do usuário logado.

Sacou ?


0
Pode exemplificar ?


0
Claro!

Vou criar aqui de cabeça so para te dar um norte!

            package myapp

class FormularioController {
 
 def index() { }
 
 def listFormulario () {
 def Usuario usuario = session.user // ou qualquer outra forma que vc use session e tenha ou usuario ou o perfil na sessao.
 def results = Formulario.withCriteria {
// considerando que você tenha associado qual usuario enviou o formulario a ser listado, ou os formularios!
eq "data_envio" , "28/07/2016" // considerando que vc tenha uma propriedade data_envio para o formulario , so para exemplo msm
usuario { // aqui, considerando que seu domain 'Formulario' tenha associação com um domain Usuario , faz um 'join' com Usuario
if (usuario.perfil == "Usuario Comum"){
 like "id", id do usuario logodo (id do usuario na session, vamos dizer que o id seja 43) // aqui você passa o ID do usuario
}
}
 }
 }
 
}

            
            
            
            isso vai dar uma query semelhante a
            
          
  SELECT * FROM TB_FORMULARIO F INNER JOIN TB_USUARIO U ON U.ID_USUARIO = F.FK_ID_USUARIO WHERE F.DT_ENVIO = '28/07/2016' AND U.ID_USUARIO = 43 


Você so precisa limitar as informações pelo ID do usuário logado.



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