Bom, tenho minha tela de login e consigo logar normalmente. Caso eu informe usuário ou senha incorreta não apresenta uma Mensagem.
`
<h:head>
Tela de Login
<h:outputStylesheet library=“css” name=“sistema.css” />
</h:head>
<h:body>
<div id="cabecalho">
<h3 id="divas">Studio Diva's</h3>
</div>
<h:form id="frm">
<p:messages closable="true"/>
<h:panelGrid columns="2" styleClass="form">
<f:facet name="header"> Acesso ao Sistema</f:facet>
<p:outputLabel value="usuário:" for="usuario" />
<p:inputText value="#{segurancaBean.usuario}" size="20" id="usuario" />
<p:outputLabel value="senha:" for="senha" style="margin-left: 14%" />
<p:password value="#{segurancaBean.senha}" size="20" id="senha" />
<h:outputLabel />
<h:panelGroup styleClass="botoeslogin">
<p:commandButton value="Logar" action="#{segurancaBean.logar()}" ajax="true" />
</h:panelGroup>
</h:panelGrid>
<footer id="rodape"> Desenvolvido por Dayson Rodrigues<br />
<h:graphicImage value="/imagens/telefone.png" width="20" height="20"
style="margin-bottom: -4px;" />85 9714-8855.
</footer>
</h:form>
</h:body>
`Meu Bean
`
package view;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import util.MensagemUtil;
@ManagedBean
@ViewScoped
public class SegurancaBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String usuario;
private String senha;
/**
* Método logar, ele precisar do Request,
* @return
*/
public String logar(){
try {
this.getRequest().login(this.usuario, this.senha);//Chama o método login, passando usuario e senha.
return "home?faces-redirect=true";
} catch (ServletException e) {
MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_ERROR, "Usuário ou senha Inválido!"); //deu Errado.
return null;
}
}
/**
* Método que sai da aplicação.
* @return
* @throws ServletException
*/
public String sair() throws ServletException{
this.getRequest().logout();
return "login?faces-redirect=true"; //faz o redirencionamento da página.
}
/**
* Método que retorna o Request.
* @return
*/
public HttpServletRequest getRequest(){
FacesContext contex = FacesContext.getCurrentInstance(); //pego o Contexto do JSF.
return (HttpServletRequest)contex.getExternalContext().getRequest(); //pega contex.;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
}
`