Estou utilizando Jaas na minha aplicação e estou com problema na utilização de um template facelets na página de login
Se adicionar o template na página de login,você digita o usuário e senha porém não redireciona a página.
Se remover o template da página de login, funciona normalmente.
Vocês tem idéia de como posso resolver?
login.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<!-- Se eu inserir a chamada ao meu template aqui, não funciona! -->
<h:head></h:head>
<h:body>
<rich:panel styleClass="#panel">
<f:facet name="header">
<h:outputText value="Autenticação Necessária" />
</f:facet>
<form method="post" action="j_security_check">
<fieldset>
<p>
<label for="form-login">Login</label> <input type="text"
name="j_username" id="form-login" />
</p>
<p>
<label for="form-senha">Senha</label> <input type="password"
name="j_password" id="form-senha" />
</p>
<p>
<input type="submit" value="Enviar" />
</p>
</fieldset>
</form>
</rich:panel>
</h:body>
</html>
cara,
posta seu template, talvez pode ter algo que está impedindo ela ser redirecionada.
t+
Bom dia,
Desculpe pela demora, segue abaixo o meu template.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<link rel="stylesheet" type="text/css"
href="${facesContext.externalContext.request.contextPath}/css/css.css" />
<title>Music Store</title>
</h:head>
<h:body>
<h:form>
<div id="topo"></div>
<div id="conteudoEsq">
<ul >
<li ><h:commandLink value="Home" action="/home.jsf" />
</li>
<li ></li>
<li ><h:commandLink action="/servico.jsf"
value="Gerencial" rendered="#{rich:isUserInRole('ADMIN')}" /></li>
<li ></li>
<li ><h:commandLink action="/contato.jsf"
value="Contato" /></li>
<li ></li>
<li ><h:commandLink action="/altCliente.jsf"
value="Minha Conta" rendered="#{rich:isUserInRole('CLIENTE')}" />
</li>
<li ></li>
</ul>
</div>
<div id="colEsq">
<div id="sepEsqcolCentral">
<div id="colDir">
<div id="conteudoDir">
<rich:panel rendered="#{rich:isUserInRole('CLIENTE')}">
<div class="shopping_cart">
<div class="cart_title">Shopping cart</div>
<div class="cart_details">
0 items <br /> <span class="border_cart"></span> Total: <span
class="price">0$</span>
</div>
<div class="cart_icon">
<a ><img
/></a>
</div>
</div>
</rich:panel>
</div>
<div id="sepcolCentralDir">
<h:panelGrid columns="2">
<h:column>
<h:outputText
value="Seja bem vindo, #{facesContext.externalContext.userPrincipal.name}!"
rendered="#{rich:isUserInRole('CLIENTE,ADMIN')}" />
</h:column>
<h:column>
<h:commandLink action="/logout.jsf" value="Logoff"
rendered="#{rich:isUserInRole('CLIENTE,ADMIN')}" />
</h:column>
</h:panelGrid>
<div id="colCentral">
<div align="center">
<ui:insert name="conteudo">
</ui:insert>
</div>
</div>
</div>
</div>
</div>
</div>
</h:form>
</h:body>
</html>
o problema deve ser pq vc ta usando 2 forms, um no template e outro na sua pagina.
t+
[quote=alissonvla]o problema deve ser pq vc ta usando 2 forms, um no template e outro na sua pagina.
t+[/quote]
Bom dia,
alissonvla , o problema era o que você falou mesmo.
Por causa do <h:form> que eu tinha no conteúdo do template.
Acho que estava dando algum conflito com o form da página de login.
No meu template, eu só coloquei o <h:form> aonde eu precisava(Nos links do menu) , então funcionou normalmente.
Obrigado pela ajuda.
gRoOve
Março 15, 2012, 8:32am
#6
[quote=nicocelli]
[code]
<li ><h:commandLink value="Home" action="/home.jsf" />
</li>
<li ></li>
<li ><h:commandLink action="/servico.jsf"
value="Gerencial" rendered="#{rich:isUserInRole('ADMIN')}" /></li>
<li ></li>
<li ><h:commandLink action="/contato.jsf"
value="Contato" /></li>
<li ></li>
<li ><h:commandLink action="/altCliente.jsf"
value="Minha Conta" rendered="#{rich:isUserInRole('CLIENTE')}" />
</li>
<li ></li>
[/code][/quote]
Cara, achei bem interessante isso que você fez pra mostrar os links de acordo com a role, preciso fazer exatamente isso porém usando JSF puro, da muito trabalho pra fazer ou vou ter que usar algum framework (richfaces/primefaces) ?
Bom dia,
Pois é, não sei te dizer.
Até o momento não trabalhei com Jaas e JSF puro.
gRoOve
Março 15, 2012, 4:51pm
#8
Achei algo neste site http://stackoverflow.com/questions/5648562/is-isuserinrole-method-related-to-jaas
Vou tentar fazer desta forma depois que resolver outro problema que estou tendo, hehe.