Criar login

3 respostas
L

Bom dia pessoal.
Sou novo no fórum e preciso da ajuda de vocês. Estou fazendo um trabalho para faculdade e preciso criar uma aplicação com JSF, PRIMEFACES.
Ja criei todas as telas e os metodos CRUD funcionam perfeitamente. Na hierarquia de pastas tenho um diretório para usuarios comum (pasta user)
e outro para administrador (PASTA admin), cada pasta com suas telas. Minha dúvida é em criar o login com sessão para cada usuário e redirecionar para a pasta específica.
Gostaria da ajuda de vocês para criar esse login.

Minha pagina de login fica assim:

<h:form id="form1">  
                <p:growl id="id" showDetail="true" life="4000" />
                <fieldset>
                    <h:panelGrid columns="2" cellspacing="9">
                        <h:outputText value="Usuário: " />
                        <p:inputText id="login" value="#{userBean.user.login}" 
                                     required="true" requiredMessage="Informe o usuário"/>

                        <h:outputText value="Senha: " />
                        <p:password inline="true" 
                                    id="senha" 
                                    value="#{userBean.user.senha}" 
                                    required="true" 
                                    requiredMessage="Informe a senha"/>

                        <br></br>
                        <br></br>
                        <p:commandButton id="btnO" 
                         value="Entrar" 
                         type="submit" 
                         actionListener="#{userBean.logar(e)}" 
                         ajax="false"
                         update="id"/>
                    </h:panelGrid>
                </fieldset>
             </h:form>
Meu userBean
public void logar(ActionEvent e) throws ParseException, SQLException, IOException{
        
        RequestContext context = RequestContext.getCurrentInstance();  
        FacesMessage msg = null;  
        boolean loggedIn = false;      
        FacesContext facesContext = FacesContext.getCurrentInstance();    
          
        // Se o usuário existir
        if(dao.Logar(user)) {  
            
            // coloca o login do usuario na sessão
            HttpSession sessaoHttp = (HttpSession) facesContext.getExternalContext().getSession(true);  
            sessaoHttp.setAttribute("user", user.getLogin());  
            
            loggedIn = true;  
            msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Bem Vindo", user.getLogin()); 
            
            FacesContext.getCurrentInstance().addMessage(null, msg);
            
        } else { 
            loggedIn = false;
            msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Error ao Logar", "Dados Inválidos!"); 
        }  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
        context.addCallbackParam("loggedIn", loggedIn); 
    }

Até aqui consegui fazer. Se o usuário existir ele exibe uma mensagem de bem vindo. Gostaria agora de redirecionar para a página específica.
Lembrando que o acesso a cada pasta depende do nivel do usuario definido em um campo da tabela de dados.

Como devo proceder daqui pra frente? Podem me ajudar? O que devo fazer?
Me desculpe por tantas perguntas, sou nob em java :)

3 Respostas

Hebert_Coelho

Nesse post tem um exemplo de login: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate.

L

Obrigado por responder. Havia visto essa matéria em uma pesquisa que fiz na internet, porém sou nob em java, estou iniciando agora e tive muita dificuldade em entender
os códigos. Poderia me dar uma luz?

L

Alguem poderia me ajudar?
Estou meio perdido olhando varios tutoriais…

Criado 11 de outubro de 2012
Ultima resposta 11 de out. de 2012
Respostas 3
Participantes 2