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]
    ---------------------------------------------------------------------

Responder a