Liberar acesso para usuário

0 respostas
A

Oi pessoal, estou com uma dúvida que pode ser besta + que está me deixando piradão.

tenho uma login.jsp que loga no sistema e fica logado normalmente sem problema nenhum, porém eu quero fazer a liberação da página por níveis de acesso, por exemplo, existem 3 niveis de acesso, administrador, gerente e usuário(os funcionários que não tem privilégios). O administrador tem acesso a todos os recursos, incluindo liberar acesso para outros funcionários, o gerente tem acesso aos mesmos link porém não todos, e o usuário também tem acesso a alguns links, porém bem reduzido os links, somente inclusão e verificação do mesmo.

olha o que eu estou tentando fazer
essa é minha página principal na qual eu quero liberar acesso da forma que não está funcionando.

<%@ include file="cabecalho.jsp" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="conexoes.*"%>

<html>
    
<head>
	<title>GEREM</title>
        
        <body>
            <%  
            
                                
            String strChave = request.getParameter("txtchave");
            String strSenha = request.getParameter("txtsenha");
                        
        
            session.setAttribute("loginUsuario",strChave);
            session.setAttribute("senhaUsuario",strSenha);


            if (Login.verificarLogin(strChave,strSenha)==false){
             
        %>
            <jsp:forward page="erro.jsp"/>
        <%
         } else if (novo.verificarNivelAcesso(strChave) == "1"){               
            
         %>
          
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="suprimeImpressao">
	<td colspan="2" align="right" height="18px" valign="bottom"></td>
</tr>
<tr>
	<td width="5px" class="suprimeImpressao">&nbsp;</td>
	<td width="100%px">
	<!-- Conteudo -->
	
        
        
	

<font class="migalha">Página Inicial</font><br/>
<p>Olá <%= strChave%></p>
<br />
          <img src="imagens/np_setaVerde.gif" width="10" height="10" /><font class="nptopico"> 
          Gerenciador de Recursos Materiais</font> <br />
<div align="right"><font size="-2" class="textp">v1.0</font></div>
<br /><br />
<form action="" method="post" name="frm">
    <input name="cmd" type="hidden" />
            <table width="100%">
              <tr> 
                <td height="6" colspan="6" class="titSecao" style="height: 5px"></td>
              </tr>
              <tr> 
                <td width="45%" height="203" valign="top"> <p><img src="imagens/np_setaAmarela.gif" width="10" height="10" align="absmiddle" />&nbsp;<strong>Menu 
                    de Opções</strong> <br />
                    <br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="IncluirSolicitacao.jsp">Incluir Solicitação</a> 
                    <br />
					<br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="listarsolicitacoes.jsp">Visualizar Solicitações</a> <br />
                    <br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="javascript: comando('doGetAll')">Visualizar Solicitações Pendentes</a><br>
					<br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="alterarperfil.jsp">Alterar Perfil de Usuário</a> <br /> </p></td>
                <td width="55%" height="203" valign="top"><p><img src="imagens/np_setaAmarela.gif" width="10" height="10" align="absmiddle" />&nbsp;<strong>Menu Material</strong> <br />
                    <br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="IncluirMaterial.jsp">Incluir</a> 
                    <br />
                    <br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="listarmateriais.jsp">Visualizar</a> <br />
                    <br />
                    <img src="imagens/seta_proximo1.gif" width="16" height="16" align="absmiddle" border="0" /> 
                    <a href="javascript: comando('doGetAll')">Baixar</a> </p></td>
              </tr>
            </table>
    <table width="100%">
        <tr>
            <td class="titSecao" style="height: 6px"></td>
        </tr>
    </table>
    
    
    </form>
	<!-- Fim do Conteudo -->
	</td>
</tr>
<tr class="suprimeImpressao"> 
	<td colspan="3">&nbsp;</td>
</tr>
</table>
               <% 
                    }
               %>
</body>
</html>
<%@ include file="rodape.jsp" %>

o Login.java esta assim (meio bagunçado pelo tanto de tentativas)

package conexoes;

import java.sql.*;


public class Login {
    
    private String chave;
    private String nome;
    
    public Login() {
    }
    
    public String verificarNivelAcesso(String chave){
        String retorno = "";
        
        try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/geral","root","");
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select nvl_acesso from funcionario where nr_mtc+fun=" + chave + "");
            
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return retorno;
    }
    
    
    public static boolean verificarLogin(String chave, String senha){
        String retorno= "";
        try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/geral","root","");
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from funcionario where nr_mtc_fun=" + chave + " and senha=" + senha+"");
            
            
            if (rs.next()){
                chave = rs.getString("nr_mtc_fun");
                retorno = retorno + chave;
                return true;
            }else{
                return false;
            }
            
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }            
        return false;
    }

    
    
    
    public String getChave() {
        return chave;
    }

    public void setChave(String chave) {
        this.chave = chave;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }    
    
    
}

tirando o

else if (novo.verificarNivelAcesso(strChave) == "1"){

%>

funciona perfeitamente

ja tentei fazer de várias formas e agora to malucão com isso. Eu estou tentando fazer por liberação de {} dentro do código, fazer por códigos inteiros, colocando metades da página dentro de novas {} no jsp.

ps**: sou very very iniciante

vlw pessoal

Criado 15 de dezembro de 2008
Respostas 0
Participantes 1