Prezados Javaneses,
Durante o processo de verifica��o de acesso (Seguran�a) � alguns m�dulos
do meu Sistema utilizei a classe SESSION dos Servlets e desvio o fluxo
da aplica��o para uma p�gina de Logon/Password autenticando
posteriormente o usu�rio num Banco de Dados.
Ocorre, como tantas outras diversidades que encontrei entre o Netscape e
o IExplorer que o mesmo Servlet apresenta um comportamento diferenciado
para cada Browser.
No c�digo abaixo, se as credenciais de acesso do Usu�rio n�o forem
validadas, ocorre um desvio para uma p�gina espec�fica. No Iexplorer o
fluxo � corretamente desviado, j� no Netscape 4.x o primeiro m�todo
hsrsp.sendRedirect... � ignorado e o fluxo continua at� o pr�ximo
REDIRECT no final do bloco Try.
Aparentemente, no Netscape 4.x, o fluxo n�o � desviado com o REDIRECT
at� que o bloco TRY/CATCH seja completamente executado.
Algu�m j� sofreu algo parecido??? Alguma Orienta��o ou Coment�rio???
PS: Posso alterar a l�gica do programa de forma a evitar este
incoveniente mas considerei interessante comentar mais um fato que
parece ilustrar as diferen�as entre o Iexplorer e o Netscape 4.x
Um abra�o,
Carlos Campos
HttpSession session = hsreq.getSession(true);
try {
String query = new String();
query = "select * from Controle,Usuarios where etc...";
ResultSet rs = stmt.executeQuery(query);
boolean more = rs.next();
if(!more) {
session.invalidate();
hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx"); // N�o Autorizado
== REDIRECIONA pelo Iexplorer mas n�o pelo Netscape
}
while(more) {
nomusu = rs.getString("nome_usuario");
cargusu = rs.getString("cargo_usuario");
more = rs.next();
}
// Atribui os par�metros da Sess�o
session.putValue("reqIP",reqIP);
session.putValue("reqHOST",reqHOST);
session.putValue("UsuRede","OK");
session.putValue("UsuCtrl","OK");
session.putValue("logusu",logon);
etc...
rs.close();
// Redireciona para o Servlet de Origem
hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx:8080/servlet/"+ns);
== PONTO DO PROGRAMA onde o Netscape desvia
}
catch(NullPointerException e) {
// Redireciona para o servlet Erro
hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx");
}
catch(SQLException sql) {
System.out.println("Houve uma SQLException: "+sql);
hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx"); // Erro
}
Carlos Campos
[EMAIL PROTECTED]
Analista de Sistemas / Bolsista PCI
MCT/CNPq - CETEM - Centro de Tecnologia Mineral
Fone: 0xx21 5607222 - Ext. 358
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------