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"> </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" /> <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" /> <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"> </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