Gaucho,

O processo de encriptação já está ecapsulado no framework que utilizamos. Essa classe é usada somente quando precisamos alterar a senha de um determinado usuário.

[EMAIL PROTECTED] wrote:
Anaxi,

este algoritmo de encriptação tu aplica via JSP no momento do submit do
form de login ?


  
Seguinte:

Existem algumas limitações no tomcat (4.x - salvo engano os caras estão
melhorando a versão 5.x) em relação à autenticação. O ideal é usar JAAS,
porém você pode fazer o seguinte:

No seu server.xml comente o MemoryRealm.

<!--  <Realm className="org.apache.catalina.realm.MemoryRealm" /> -->

E habilite o JDBCRealm.

Ex.:

     <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
digest="MD5"
          driverName="org.postgresql.Driver"
          connectionURL="jdbc:postgresql://IP/DB"
          connectionName="userDB" connectionPassword="passUserDB"
          userTable="table_user" userNameCol="filed_user_login"
userCredCol="field_user_pass"
          userRoleTable="table_role" roleNameCol="field_role_name />

Obs.: Você deverá criar no seu banco as tabelas com os nomes e campos
referenciados acima.

Para "sombrear" a senha use qualquer algorítimo de encriptação MD5. Nós
criamos o seguinte:

public class BvCrypto {
     public static final String encrypt( String credentials ) {
             MessageDigest md = null;
             try {
                     md = ( MessageDigest ) MessageDigest.getInstance(
"md5" ).clone( );
                 } catch ( NoSuchAlgorithmException nsaExc ) {
                     System.out.println( "Não existe tal algoritmo!" );
                 } catch ( CloneNotSupportedException cnsExc ) {
                     System.out.println( "Método Clone não suportado!" );
                 } catch ( ClassCastException ccExc ) {
                     System.out.println( "Erro de casting!" );
                 } catch ( Exception e ) {
                     System.out.println( "Ocorreu uma exceção: " +
e.getMessage( ) );
       }
             if ( credentials != null )
           md.update( credentials.getBytes( ) );
       else {
                     System.out.println( "A string passada eh null" );
                     return null;
                 }
             return convert( md.digest( ) );
         }

   public static String convert( byte bytes[ ] ) {
             StringBuffer sb = new StringBuffer( bytes.length * 2 );
             for ( int i = 0; i < bytes.length; i++ ) {
                     sb.append( convertDigit( bytes[ i ] >> 4 ) );
           sb.append( convertDigit( bytes[ i ] & 0xf ) );
                 }
             return sb.toString( );
         }

   private static char convertDigit( int value ) {
             value &= 0xf;
             if ( value >= 10 )
           return ( char ) ( ( value - 10 ) + 97 );
       else
           return ( char ) ( value + 48 );
         }
  }

Boa sorte.

Anaxi.

[EMAIL PROTECTED] wrote:

    
Povo,

estou aqui destrinchando o JDeveloper e criando algumas aplicações de
teste... desntre elas o clássico LOGIN de usuário na web.

uma dúvida em relação à autenticação de usuário usando o Tomcat:

sempre que eu usar autenticação via Tomcat eu vou deixar a senha dos
usuários exposta no tomcat-users ??

qual a alternativa ?

sei que o servidor é, em tese, algo seguro, com acesso restrito, etc. -
mas supondo que eu desconfie que o servidor não seja tão seguro assim e
deseje omitir as senhas .. como fazer ? vou ter que criar os roles num
banco e reinventar todo o mecanismo de autenticação já disponível no
Tomcat ?

OBS: estou perguntando no Tomcat pra facilitar, pois depois vou ter que
configurar isso naquele servidor embutido do JDeveloper...

valeu,

 Felipe Gaúcho
 Coordenador CEJUG



-------------------------------------------------------------------------------------------
Ceara' Java User Group

 Para cancelar sua assinatura, envie um e-mail para:
[EMAIL PROTECTED]
 Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
 Falar com o administrador? e-mail para: [EMAIL PROTECTED]






      
-------------------------------------------------------------------------------------------
Ceara' Java User Group

  Para cancelar sua assinatura, envie um e-mail para:
[EMAIL PROTECTED]
  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
  Falar com o administrador? e-mail para: [EMAIL PROTECTED]


    


-------------------------------------------------------------------------------------------
Ceara' Java User Group

  Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
  Falar com o administrador? e-mail para: [EMAIL PROTECTED] 
 



  

Responder a