Gestionale && controllo accesso DB

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Gestionale && controllo accesso DB

Messaggio da tgmx »

Ciao Ragazzi,
apro questa discussione solo per dare ed avere qualche spunto per un nuovo progetto che devo sviluppare.

Supponiamo di sviluppare un software aziendale utilizzato da più utenti (windows e non) degli uffici e che si appoggia ad un db MySql centrale.
Fino a qui niente di complicato (trascurando la questione Gestionale).

A me vengono in mente due possibili soluzioni per gestire gli accessi:
1) si chiede all'utente di effettuare il login e quelle credenziali sono utilizzata anche per il login al DB (quindi sono credenziali valide tra gli utenti del DB)
2) si codifica direttamente nell'applicazione il nome e password per l'accesso al DB (tutti i client usano le stesse credenziali) e all'utente viene chiesto un nome e password per effettuare un'autenticazione "software" (gestita dall'applicazione stessa).

Entrambe queste soluzione però hanno aspetti negativi che vorrei evitare:
1) l'utente è in possesso di username e password del db quindi se vuole (e se sa fare) apre ACCESS si connette al db e comincia a fare casini a mano sulle tabelle per cui è autorizzato in scrittura.
2) se devo o voglio cambiare dati di accesso al db devo ricompilare l'applicazione e distribuirla a tutti.

Nel caso (2) si potrebbe ovviare al problema mettendo le credenziali in un file di testo e facendo in modo che l'applicazione se le vada a pesca li dentro così se cambia l'utente del DB basta cambiare quel file. Ma se poi quel file viene "scoperto" diventano note nuovamente le credenziali del DB.


Si accettano soluzioni alternative.... :-)

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: Gestionale && controllo accesso DB

Messaggio da slux »

Il nostro gestionale usa il caso 2,con utente e password del Db in un file ini esterno.Ovviamente la password è criptata.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Gestionale && controllo accesso DB

Messaggio da tgmx »

slux ha scritto:Il nostro gestionale usa il caso 2,con utente e password del Db in un file ini esterno.Ovviamente la password è criptata.
La password viene decrittata da dentro l'applicazione, giusto? Quindi la chiave di decodifica è nel codice dell'applicazione?

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: Gestionale && controllo accesso DB

Messaggio da slux »

si ovvio

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Gestionale && controllo accesso DB

Messaggio da tgmx »

Diciamo che a me piacerebbe di più la soluzione 1 perchè in quel modo potrei anche controllare (lato server ) quali tabelle un utente è autorizzato a leggere o scrivere ma mi sembra un po' troppo macchinoso nascondere per ogni utente la password da qualche parte e fargliene usare un'altra solo per l'accesso...

Mi sa che prendo per buona la tua soluzione... :-)

Avatar utente
murdock
Linux 2.x
Linux 2.x
Messaggi: 477
Iscritto il: ven 25 mag 2007, 12:58
Slackware: 64 14.1
Kernel: 3.18.3
Desktop: KDE 4.14.3
Contatta:

Re: Gestionale && controllo accesso DB

Messaggio da murdock »

Io farei un'applicazione web che accede al db in base ad utenti configurati all'interno di un database a loro dedicato, in quest'ultimo assegnerei privilegi per l'accesso ai vari settori del gestionale.
Lo sconvenienza di ciò è solo il tempo di sviluppo.
Il grande pregio è che essendo web based elimini il problema delle piattaforme client.

Saluti,
MuRdOcK

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Gestionale && controllo accesso DB

Messaggio da tgmx »

murdock ha scritto:Io farei un'applicazione web che accede al db in base ad utenti configurati all'interno di un database a loro dedicato, in quest'ultimo assegnerei privilegi per l'accesso ai vari settori del gestionale.
Lo sconvenienza di ciò è solo il tempo di sviluppo.
Il grande pregio è che essendo web based elimini il problema delle piattaforme client.

Saluti,
MuRdOcK
Questa soluzione l'ho messa da un po' nel mio TODO.txt per adesso richiederebbe troppo tempo e poi una parte dell'applicazione è già sviluppata.
A questo va aggiunto che non sono molto forte col web... :-D Me la cavo molto meglio nell'ambiente C++/Qt4 .

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Gestionale && controllo accesso DB

Messaggio da masalapianta »

tgmx ha scritto:
murdock ha scritto:Io farei un'applicazione web che accede al db in base ad utenti configurati all'interno di un database a loro dedicato, in quest'ultimo assegnerei privilegi per l'accesso ai vari settori del gestionale.
Lo sconvenienza di ciò è solo il tempo di sviluppo.
Il grande pregio è che essendo web based elimini il problema delle piattaforme client.

Saluti,
MuRdOcK
Questa soluzione l'ho messa da un po' nel mio TODO.txt per adesso richiederebbe troppo tempo e poi una parte dell'applicazione è già sviluppata.
A questo va aggiunto che non sono molto forte col web... :-D Me la cavo molto meglio nell'ambiente C++/Qt4 .
se la premessa è sviluppare il client in c++ allora l'approccio meno peggio è sviluppare un semplice webservice che si occupi di fare le query e che dialoghi con il client c++ via soap; in tal modo la maggiorparte del codice sta nel client, il webservice è relativamente semplice da sviluppare e le password di accesso al db ce le ha il weservice e non i client (che possono fare solo determinate query preimpostate e non il cavolo che vogliono; devi solo stare attento a scrivere il codice del webvservice con criterio, per evitare sql injection)

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Gestionale && controllo accesso DB

Messaggio da tgmx »

masalapianta ha scritto: se la premessa è sviluppare il client in c++ allora l'approccio meno peggio è sviluppare un semplice webservice che si occupi di fare le query e che dialoghi con il client c++ via soap; in tal modo la maggiorparte del codice sta nel client, il webservice è relativamente semplice da sviluppare e le password di accesso al db ce le ha il weservice e non i client (che possono fare solo determinate query preimpostate e non il cavolo che vogliono; devi solo stare attento a scrivere il codice del webvservice con criterio, per evitare sql injection)
Avevo pensato a qualcosa di simile tempo fa ma non avevo chiaro in mente come scambiare i dati tra client e server in modo rapido e facilmente aggiornabile.
Devo approfondire il discorso SOAP.

Grazie della dritta.

Rispondi