Login com JAAS + Tomcat

0 respostas
L

Fiz os procedimentos de configuração do JAAS no meu projeto JSF,quando tento acessar mostra a informação que usuário e senha não confere, porém já criei a tabela de usuário.

[img]http://i.stack.imgur.com/w3yuU.jpg[/img]

[img]http://i.stack.imgur.com/k4AJ1.jpg[/img]

context.xml

<Context path="/FastChoice">
<Realm className="org.apache.catalina.realm.JDBCRealm" 
     driverName="com.mysql.jdbc.Driver"
     connectionURL="jdbc:mysql://localhost:3306/fastchoice" 
     connectionName="root" connectionPassword="admin" 
     userTable="usuario" userNameCol="nome_usuario" 
     userCredCol="senha"  userRoleTable="permissao_usuario"
     roleNameCol="nome_permissao"/>

Classe SegurancaBean como o método logar

public class SegurancaBean {

private String usuario;
private String senha;

public String logar() {
  try {
    this.getRequest().login(this.usuario, this.senha);
    return "Home?faces-redirect=true";
    } catch (ServletException e) {
        FacesUtil.adicionarMensagem(FacesMessage.SEVERITY_ERROR, 
                FacesUtil.getMensagemI18n("username_password_does_not_match"));
        return null;
    }
}

public String sair() throws ServletException {
    this.getRequest().logout();
    return "Login?faces-redirect=true";
}


private HttpServletRequest getRequest() {
    FacesContext context = FacesContext.getCurrentInstance();
    return (HttpServletRequest) context.getExternalContext().getRequest();
}

public String getUsuario() {
    return usuario;
}
public void setUsuario(String usuario) {
    this.usuario = usuario;
}
public String getSenha() {
    return senha;
}
public void setSenha(String senha) {
    this.senha = senha;
}

Login.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>#{msg.login}</title>

    <h:outputStylesheet library="css" name="sistema.css"/>
</h:head>
<h:body>
    <div id="content">
        <div style="width: 240px; margin-left: auto; margin-right: auto; margin-top: 150px">
            <h1>#{msg.login}</h1>

            <h:form id="frm">

                <h:messages showDetail="false" showSummary="true" 
                    styleClass="form-messages" errorClass="error"/>

                <h:panelGrid columns="2" styleClass="form-grid" style="padding: 10px"
                        columnClasses="label, campo" id="panel">

                    <h:outputLabel value="#{msg.username}"/>
                    <h:inputText value="#{segurancaBean.usuario}" size="20"/>

                    <h:outputLabel value="#{msg.password}"/>
                    <h:inputSecret value="#{segurancaBean.senha}" size="20"/>

                    <h:panelGroup/>
                    <h:commandButton value="#{msg.login}" action="#{segurancaBean.logar}"/>
                </h:panelGrid>
            </h:form>
        </div>
    </div>
</h:body>
Criado 7 de novembro de 2015
Respostas 0
Participantes 1