Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Duvida sobre controle da aplicação

Boa tarde a todos! Gostei muito do curso e fiquei com umas dúvidas além... -Estou criando um projeto de um sistema de vendas, onde o cliente pode comprar alguns produtos. Como poderia controlar o usuario q estiver logado, no sentido de permitir ações? Tipo renderizar algo na tela dependendo do usuario.

Abraço a todos!

4 respostas
solução!

Diego, há várias formas de atacar esse problema. Vai depender do seu gosto, frameworks e caso particular.

O JSF tem seu próprio sistema de access control, que pode te ajudar a dizer qual é o "role" (papel) daquele usuário, aí você pode decidir se tal menu ou não deve aparecer. O Spring MVC possui recursos bem semelhantes. E, obviamente, você pode fazer na "unha", que pode servir em casos mais básicos.

Se quiser mais detalhes, tente dar o cenário de uso pra gente e podemos mandar uma opinião do que usar.

Fala Paulo, obrigado pela resposta!

Gostei bastante de JSF com EJB(nao sei se posso falar assim....rs). Achei o shiro bem fácil e organizado, mas fiquei com medo de logo logo a tecnologia mudar e gostaria de aprender a fazer na mão. O que eu queria fazer é mostrar a tela de cadastro de produtos apenas para funcionarios e a tela de compra para clientes. Eu tentei usar (o mesmo codigo que aprendi aqui no curso de CDI) um autorizador no faces-config.xml, mas devo ter feito algo errado..rs

Opa Diego, para fazer isso, sinceramente, eu acho melhor usar um filtro da spec de servlet mesmo. É assim que o shiro, spring security etc fazem...

Pensando no seu código em si, essas são as coisas que vc precisaria fazer:

  • Criar uma classe que represente o usuario
  • Criar uma classe que represente o perfil
  • Em geral um usuário pode ter vários perfis
  • Associar urls a um perfil(/cadastro/produto.xml -> funcionario e assim vai)
  • Aí vc vai ter uma tela de login e guardar o usuário na sessão
  • No seu filtro vc vai precisar buscar da sessão o usuário com todos os seus perfis e verificar se algum perfil pode acessar a url sendo requisitada no momento

Você pode até fazer na mão, pela experiência, mas usar uma lib pronta faz muita diferença.

Obrigado Alberto!! grande abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software