Domanda

Sto scrivendo un programma che utilizza JDBCTemplate ed esegue una query utente. C'è un modo attraverso il pacchetto Spring JDBC che posso limitare le domande degli utenti a selezionare le istruzioni? Non voglio che gli utenti eseguino alcuna domanda che aggiorna il database sottostante.

Grazie,
KTM

È stato utile?

Soluzione

Spring JDBC non può farlo automaticamente, dovresti scrivere il tuo adattatore e assicurarti che tutto il tuo codice chiami l'adattatore.

Hai preso in considerazione l'utilizzo dei privilegi DB per raggiungere ciò che desideri? Dipende da quanto granulare desideri essere la tua sicurezza, ma è una buona idea creare un utente di database "Application" che è un account separato dall'account del proprietario del database. Quindi concedi i privilegi appropriati su base da tavolo.

Altri suggerimenti

Spring Security è progettato per questo. Ha tabelle predefinite per la gestione dell'accesso.

Se hai l'opzione, considera di usare JPA (API di persistenza Java); Gli oggetti di query hanno separati getResultList e getingleResult -Methodi, che lanciano eccezioni se la query è un eliminazione o aggiornamento (Elimina e aggiornamento vengono gestiti solo tramite EsecuteUpdate).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top