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.
[code]
<%@ include file=“cabecalho.jsp” %>
<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<%@page import=“conexoes.*”%>
<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"){
%>
Página Inicial Olá <%= strChave%> Gerenciador de Recursos Materiais v1.0
|
|||||
o Login.java esta assim (meio bagunçado pelo tanto de tentativas)
[code]
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;
}
}[/code]
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