Bom, tou fazendo um sisteminha usando Spring, JSF, Hibernate e Facelets…
Eu consigo logar normalmente, vou pra index do usuário com seus roles e tal.
Só que nessa index que o usuário entrou (logou), quero recuperar o objeto (Usuario) para exibir seus dados (nome, login, etc…).
login.xhtml:
<h:form id="loginForm" prependId="false">
<p:panel header="Entrar no Sistema" style="width: 400px; margin: 0 auto;">
<div align="center">
<p:message for="j_username"/>
<p:message for="j_password" />
<h:panelGrid columns="2" columnClasses="esq,dir" cellpadding="5">
<h:outputLabel for="j_username" value="Login:"/>
<h:inputText id="j_username"
required="true"
requiredMessage="Informe seu login"
size="25">
</h:inputText>
<h:outputLabel for="j_password" value="Senha:" />
<h:inputSecret id="j_password"
required="true"
requiredMessage="Informe sua senha"
size="25" />
</h:panelGrid>
</div>
<p:commandButton type="submit" style="margin-left: 180px"
id="login" ajax="false"
action="#{loginBean.doLogin}"
value="Entrar" />
</p:panel>
</h:form>
LoginBean:
//...imports
@ManagedBean
@SessionScoped
public class LoginBean
{
//managed properties for the login page, username/password/etc...
// This is the action method called when the user clicks the "login" button
public String doLogin() throws IOException, ServletException
{
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
RequestDispatcher dispatcher = ((ServletRequest) context.getRequest())
.getRequestDispatcher("/j_spring_security_check");
dispatcher.forward((ServletRequest) context.getRequest(),
(ServletResponse) context.getResponse());
FacesContext.getCurrentInstance().responseComplete();
// It's OK to return null here because Faces is just going to exit.
return null;
}
}
O que devo fazer pra o usuário ser colocado na sessão?
Se alguém poder ajudar, agradeço.