Desculpe a perguntação mas é que na busca a fora eu só encontro pool de conexões mas não é o que procuro.
Teria como, em JSF, mostrar conteúdo apenas para admin com sessão ou outra coisa?
Em JSP fazemos aqueles chatos testes com if pra checar se a sessão está aberta, mas como faço, por exemplo, pra mostrar links de editar apenas para administradores ou até mesmo controlar sessões de algumas páginas?
O comun em JSF é você utilizar um PhaseListener, ele trabalha como um filtro.Dentro dessa classe você pode pegar o usuário da sessão e verificar se
ele é um usuário com permissão, leia sobre o assunto.
Obs.:É uma solução razoável para seu problema utilizar o PheseListner, embora tenha algumas coisas que você deve estudar futuramente
como perfis de usuários no container.
Sim, este eu conheço, graças a ajuda dos membros daqui.
O problema é que queria que o componente ficasse visível após o uauário autorizado fazer login,
poderia ser um admin ou algum editor, etc.
Se eu crio sessão no bean e depois redireciono, eu teria que pegar sessão como no JSP e isso também não quero.
Então como mostro componentes na tela apenas para usuários logados no sistema?
PS: isso pode ocorrer na mesma página, pra poupar a criação de novas
páginas apenas pra editar uma tabela com banco de dados, por exemplo.
[quote=MaiqueL]Se você quer garantir que usuário está logado só poderá garantir com um Filter( acho que você conhece tbm é muito utilizado com servlets e JSP) ou um PheaseListner é a maneira mais fácil foi como eu comentei organizando por pastas e usar um desses dois caras.[/quote]Eu já estou utilizando para proteger diretórios inteiros, mas tá protegendo até quando eu faço o login correto.
Veja.
[quote]Quanto a retutilização de páginas só com rendered você pode definir se é visível ou não fora isso não vejo outra solução.[/quote]Pensei que o rendered só servia pra mostrar aquelas mensagens tipo: “campo requerido, login inválido”.
[quote]Obs.:Você pode adicionar dentro do bean um usuário. Sessão não é recomendado, mas é uma soluçao.
Eu procuro definir um bean como session e trabalhar com ele.[/quote]Eu teria que definir a bean como session pra isso? Mas ela já está como request, então se eu criar um conectionBean para a conexão e definir como session e deixar a outra bean request para os selects, delete, update , isso vai resolver?
Eh, o PhaseListener não está configurado direito, não consigo acesso após submeter o login correto.
Mostra mensagem de erro: “HTTP Status 403 - Access to the requested resource has been denied”.
Bom, eu consegui utilizar um Filter, só que ele só protege o diretório admin, seus sub-diretórios ficam expostos, mesmo eu configurando como a]/admin/*
Como configuro pra um usuário logado acessar apenas seus diretórios.
Eu me loguei como editor e acessei os arquivos de um administrador da aplicação.
Ainda tem o problema que as vezes ao realizar o login corretamente sou redirecionado à página de login novamente, só que mostra erro, pois tenta redirecionar pra dentro de um diretório onde não existe esta página.
veja: web.xml
[code]
<display-name>Área de Edição</display-name>
<web-resource-collection>
<web-resource-name>Arquivos protegidos por login</web-resource-name>
<url-pattern>/editor/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>systemuserEditor</role-name>
</auth-constraint>
<display-name>Área de Administração</display-name>
<web-resource-collection>
<web-resource-name>Arquivos protegidos por login</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>systemuserAdmin</role-name>
</auth-constraint>
FORM
StripesSecRealm
/login.jsp
/error.jsp
systemuserEditor
systemuserAdmin
[/code]