Buonasera a tutti.
Immaginate di creare un'applicazione multiutente in C# 2005; avete tenuto molto alla sicurezza ed avete creato per ciascun utente un sistema di criptazione della sua password.
Ma chi vorrebbe leggere i dati del relativo database potrebbe farlo anche senza bisogno della password, gli basterebbe entrare nel database dal Sql Server e guardarsi direttamente le tabelle e così aggirerebbe facilmente il sistema che avete creato.
Io vorrei fare in modo che, senza eccessive complicazioni (preciso che sui computer dove l'applicazione dovrà girare la mia applicazione installerà, prima di installare se stessa, il motore Sql Server 2005 Express e poi ricreerà il database eseguendo il relativo script, tutto qui), l'utente non possa accedere al database del mio programma se non usando quest'ultimo.
E se non chiedo troppo vorrei anche fare in modo che:
1) Non possa accedervi in modo 'diretto' nemmeno quando la mia applicazione è in funzione - pensate che l'utente che sta usando il mio programma potrebbe dover vedere solo alcuni dati ed altri invece no - ;
2) Non possa accedervi in modo diretto nemmeno se il database è su un computer diverso da quello dell'applicazione - pensate ai programmi in una piccola rete - ;
3) Non possa accedervi in modo diretto nemmeno se si logga al computer ove il database è situato come amministratore del computer - mi sa che qui chiedo davvero troppo - ;
Cosa mi suggerite? Grazie a tutti.
Shadow