Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    101

    user oracle verifica tramite java

    in una web app ricevo da una form username e password . devo verificiare se questi valori appartengono ad uno user censito su oracle

    la wab app accede al db tramite Spring con il seguente xml

    codice:
    <bean id="tjtDataSource"
              class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
            <property name="url" value="jdbc:oracle:thin:@//host:1521/schema" />
            <property name="username" value="userV" />
            <property name="password" value="passwordV" />
    
    
        </bean>

    il codice per verificare uno user è il seguente

    codice:
    public boolean  authenticateUser (String urlConnection , String usrName , String pwd) throws DatabaseException ,SQLException, NamingException {
    
        boolean authenticateUser = true ;
         Connection conn = null;
         Context ctx = new InitialContext();
         DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/gipsydb");
    
        try{
    
            Properties connectionProps = new Properties();
            connectionProps.put("user", usrName);
            connectionProps.put("password", pwd);
    
            conn = DriverManager.getConnection(AppConfiguration.getStringValue("dataSource"),"usrName","pwd");
    
            //conn =  dataSource.getConnection(usrName,pwd);
            //DatabaseMetaData  dbmd=conn.getMetaData();
            //dbmd.getUserName();
            logger.info("CONN:"+conn);
        //    conn.getProperties().get("password");
            if(conn == null){
                authenticateUser = false;
            }
            if (!conn.isValid(50000)){
                authenticateUser = false;
           }
            if (conn.getAutoCommit()){
                authenticateUser = false;
            }
          //  if (conn.getSchema()!=null && !conn.getSchema().equals("MIJCV")){
          //      authenticateUser = false;
          //  }
    
            if (conn.createStatement()==null) {
                authenticateUser = false;
            }
            conn.close();
    
    
        }
        catch(Exception e) {
            logger.error(e.getMessage(), e);
            throw new DatabaseException(e.getMessage(), e);
    
        }
        catch(Throwable te){
            logger.error(te.getMessage(), te);
            throw new DatabaseException(te.getMessage(), te);
        }
    
    return authenticateUser;
    
    }

    ma non valida tutte le utenze
    Grazie a chi interviene
    Ultima modifica di LeleFT; 24-03-2015 a 13:45 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il codice va postato all'interno degli appositi tag [CODE] .. [/CODE] per mantenere indentazione e formattazione. Altrimenti diventa illeggibile.

    Ho sistemato io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Scusa, ma... cosa dovrebbe fare questa riga di codice?

    codice:
    conn = DriverManager.getConnection(AppConfiguration.getStringValue("dataSource"),"usrName","pwd");

    Per come è scritta dovrebbe ritornare un oggetto Connection usando come parametri i seguenti:

    1) Come urlString una stringa proveniente dalla configurazione sotto la voce "dataSource"
    2) Come user la stringa fissa "userName"
    3) Come password la stringa fissa "pwd"


    Forse dovresti usare i parametri che passi al metodo (che, altrimenti, risultano del tutto inutili).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.