Newsgroup: it.comp.appl.access
Titolo: proteggere le tabelle sul BE

Molto probabilmente il quesito è già stato posto, ma ci provo lo stesso: è
possibile impedire agli utenti che hanno l'autorizzazione ad inserire o
modificare i dati (operazione che avviene normalmente attraverso le
maschere) di poterlo fare direttamente sulle tabelle?
In altre parole, è possibile impedire che un utente possa aprire le tabelle
contenute nel file mdb contenente le tabelle e che serve da BE per il
database?
Grazie
Salvatore

 wrote in
news:bbt1cj$ui4$
1...@lacerta.tiscalinet.it
: 

certo, usando la protezione di access.
puoi impostare le maschere in modo che abbiano i permessi di chi le crea 
(cioè tu, l'amministratore) e riescano a leggere tutti i dati, imponendo 
contemporaneamente che per aprire le tabelle siano necessari i permessi di 
amministratore (bada bene, del db, non del so).
in questo modo, le maschere possono fare tutto con i dati delle tabelle, ma 
chi prova ad aprirle direttamente, viene bloccato.
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
+-------

 ha scritto nel messaggio
news:Xns9393D626E...@151.99.250.3...

Ho già provato la soluzione da te indicata, ma se levo le autorizzazioni
alla lettura, scrittura o modifica dei dati delle tabelle per determinati
utenti o gruppi tale vincolo si ripercuote necessariamente sulle maschere
(in quanto le maschere stesse usano le tabelle per registrare o modificare i
dati).
Il problema è nato dal fatto che sulle maschere non compaiono
necessariamente tutti i campi presenti nelle tabelle da cui derivano,
pertanto sulle tabelle stesse è possibile registrare dei dati non visibili o
modificabili dalle maschere (per esempio la data di inserimento di un dato
record o della sua modifica). Ma, se l'utente riesce ad entrare nel database
contenente le tabelle, può tranquillamente aprire le tabelle stesse
(ovviamente quelle per le quali è autorizzato) e modificarne il contenuto.
Forse sto sbagliando qualcosa io.....
Ciao
Salvatore

 non ho mai provato, ma magari funzia...
Se non ho capito male, il consiglio è quello di registrare le modifiche in
un'altra tabella, ma anche questa tabella per poter essere modificata deve
essere accessibile all'utente, e mi sa che siamo punto  a capo.
Il mio problema è questo: su una tabella gli utenti tramite una maschera
inseriscono e modificano i record. L'amministratore, o chi per lui,
vorrebbe, però tenere traccia della data nella quale tali dati sono stati
inseriti o modificati e dell'utente che ha apportato tali modifiche.
Nella tabella in oggetto ho inserito un campo data (impostato, come valore
predefinito a date() ) ed un campo Utente (il cui valore predefinito è
CurrentUser). In tal modo nella tabella sono registrati, in automatico ed in
modo non visibile all'utente, la data e il nome di colui che ha apportato le
modifiche.
Tutte queste registrazioni, però, possono essere tranquillamente modificate
dall'utente un po' esperto (ma nemmeno poi tanto) se, aprendo il database
che contiene le tabelle collegate, apre la tabella  e ci scrive dentro (per
esempio altera la data oppure sostitiisce al suo nome utente quello di un
collega).
Se anche riportassi le modifiche in un'altra tabella in relazione con la
prima, dovrei autorizzare l'utente di cui sopra a scrivere in tale tabella e
non avrei risolto in alcun modo il problema.
Saluti
Salvatore

 tabella e non avrei risolto in alcun modo il problema.
infatti la tabella resta unica.
leggendo tutto il post, mi pare che tu non sappia cos'è la protezione di 
access.
fai un slto sul sitocomune, c'è una descrizione abbastanza esaustiva di 
cos'è e come iniziare a usarla.
una volta capito cos'è, ripassa che vediamo di sistemare meglio i punti 
che ancora non ti saranno chiari.


 access.
Paolo, sono convinto che tutto quello che hai scritto sia vero, ora dimmi se
nei passaggi successivi, corrispondenti ai vari passi che seguo durante la
protezione, c'è qualcosa che non ti quadra:
 1) esiste già il file mdw con il quale gestisco l'applicazione (non è
system.mdw)
2) nel gruppo di lavoro ho creato un gruppo chiamato edicolanti (il database
gestisce un'edicola)
3) al gruppo edicolanti ho assegnato le varie autorizzazioni, nessuna delle
quali consente la visualizzazione della struttura delle maschere, dei report
ecc.
4) nessuna delle tabelle, per tale gruppo, ha l'autorizzazione
Amministrazione
5) se, nell'assegnazione delle autorizzazioni alle tabelle non consento la
lettura dei dati è impossibile aprire (per mancanza di
autorizzazioni -almeno così dice Access-) le maschere che fanno riferimento
a dette tabelle.
 Da qui è nata l'esigenza di porre il quesito.
Ciao, e grazie per la pazienza e la collaborazione
Salvatore

 
mi sa che mi sono confuso...
alla fine, invece di continuare ad andare a memoria ho aperto una maschera 
e dato una controllata: l'impostazione a cui facevo riferimento esiste per 
le query.
cioè puoi eseguire una query utilizzando i permessi di chi la crea anche se 
ad aprirla è un utente non privilegiato.
per le maschere però c'è l'impostazione...
sorry, next time controllerò prima...


 
e dagli!
cappelle a nastro...
NON c'è l'impostazione



Non so se essere "contento" perchè quello che asserivo era vero (mi stavano
venendo tutta una serie di dubbi..) o deluso perchè il problema,
apparentemente, è irrisolvibile.
In altre parole la protezione dei dati è una mezza bufala, se uno può
scrivere attraverso una maschera (con tutta una serie di restrizioni,
vincoli, ecc. imposti dal povero sviluppatore) può anche aprire
tranquillamente la tabella associata alla maschera e modificarne i dati a
piacere (pensa anche a quei dati che sono stati immessi nella tabella in
seguito ad un calcolo o a relazioni logiche).
Ciao
Salvatore