Newsgroup: it.comp.appl.access
Titolo: Impostare permessi applicazione Access

Salve a tutti, avrei un quesito un po' particolare da esporre....
Ho un programma in Access, veramente molto complesso e composto da
centinaia di form/report (anche personalizzati da cliente a cliente),
che viene utilizzato contemporaneamente da vari uffici con diverse
mansioni.
Avrei la necessità di dover gestire delle autorizzazioni di lettura/
modifica dati in base a certe procedure, che per comodità si
potrebbero vedere come gruppi di Forms/Reports.
Le autorizzazioni dovrebbero poter essere gestite da un amministratore
del sistema, in modo visivo e abbastanza semplice, bypassando
ovviamente la procedura di protezione integrata in Access.
In pratica, vorrei creare una form preferenze in cui l'amministratore
dell'azienda andrà a specificare per ogni utente quali procedure può/
non può attivare.
Siccome dato il numero di oggetti non vorrei creare un evento "Su
caricamento" per ogni maschera e report per il controllo delle
autorizzazioni, altrimenti non finirei più, è possibile in qualche
modo accedere alle informazioni di protezione accessibili dal menu
Strumenti/protezione/autorizzazioni utenti e gruppi?
Dove sono salvate le autorizzazioni? Nelle tabelle di sistema ci ho
guardato, ma non mi sembra di aver trovato nulla di interessante...
Grazie in anticipo

Se a qualcuno può interessare, ho trovato qualcosa:
http://www.grahamwideman.com/gw/tech/access/accesssec/otherrefs.htm

 
http://www.grahamwideman.com/gw/tech/access/accesssec/otherrefs.htm
Io ho avuto un problema simile e l'ho risolto aggiungento le tabelle
MYUSERS, MYGROUPS e MYRIGHTS.
Nella tabella MYGROUPS ho stabilito i livelli di accesso (Admins,
Directors, UpdateUsers etc., nella tabella MYUSERS ci sono gli
username (gli stessi del file system) con cui gli utenti fanno il log-
in al database e il riferimento al gruppo di appartenenza, nella
tabella MYRIGHTS ci sono i nomi dei form e dei reports a cui viene
limitato l'accesso e il riferimento al gruppo di MYGROUPS.
Ogni volta che si apre il database, controllo da codice se nel system
sono stati aggiunti nuovi utenti e, in caso positivo, li aggiungo alla
tabella MYUSERS con il livello di accesso più basso. Ho quindi creato
una funzione dove controllo il nome dell'utente che fa il log in e ho
aggiunto la call a questa funzione  nell'evento on load dei form o dei
reports ad accesso limitato. La routine controlla la tabella MYRIGHTS
e se l'utente non ha l'autorizzazione fa apparire un msgbox che
avverte che non sono stati concessi i diritti per aprire quel form e
di contattare l'amministratore.
Nella MAIN Form del programma ho aggiunto una sottomaschera a schede
visibile solo dall'amministratore di sistema dove nella prima scheda è
possibile assegnare o modificare i gruppi per ogni utente e nella
seconda dare o revocare i diritti per tutte le altre forms.
Nella mia applicazione ci sono una cinquantina di maschere e
altrettanti reports ma non ho perso molto tempo per aggiornare il
tutto.
Saluti

Io ho avuto un problema simile e l'ho risolto aggiungento le tabelle
MYUSERS, MYGROUPS e MYRIGHTS.
Nella tabella MYGROUPS ho stabilito i livelli di accesso (Admins,
Directors, UpdateUsers etc., nella tabella MYUSERS ci sono gli
username (gli stessi del file system) con cui gli utenti fanno il log-
in al database e il riferimento al gruppo di appartenenza, nella
tabella MYRIGHTS ci sono i nomi dei form e dei reports a cui viene
limitato l'accesso e il riferimento al gruppo di MYGROUPS.
Ogni volta che si apre il database, controllo da codice se nel system
sono stati aggiunti nuovi utenti e, in caso positivo, li aggiungo alla
tabella MYUSERS con il livello di accesso pi� basso. Ho quindi creato
una funzione dove controllo il nome dell'utente che fa il log in e ho
aggiunto la call a questa funzione  nell'evento on load dei form o dei
reports ad accesso limitato. La routine controlla la tabella MYRIGHTS
e se l'utente non ha l'autorizzazione fa apparire un msgbox che
avverte che non sono stati concessi i diritti per aprire quel form e
di contattare l'amministratore.
Nella MAIN Form del programma ho aggiunto una sottomaschera a schede
visibile solo dall'amministratore di sistema dove nella prima scheda �
possibile assegnare o modificare i gruppi per ogni utente e nella
seconda dare o revocare i diritti per tutte le altre forms.
Nella mia applicazione ci sono una cinquantina di maschere e
altrettanti reports ma non ho perso molto tempo per aggiornare il
tutto.
Saluti
-------------------------
E se l'utonto va a toccare i permessi direttamente sulle tabelle?
Sono crittati i dati ?
Ciao
RobertoA

 RobertoA
No, i dati non sono stati criptati.
Le tre tabelle sono state settate come nascoste e gli utenti non hanno
accesso alla finestra del database perche i menù di access e tutte le
hotkeys sonos stati disabilitati e questo anche per l'amministratore.
Se devo intervenire sull'applicazione, dopo aver fatto il login con il
mio username, mi appare una maschera  che mi chiede se voglio
sbloccare il tutto.
Ciao