MS Access User Level Security for Modulo da leggere ma da tavolo per essere nascosto

StackOverflow https://stackoverflow.com/questions/930654

  •  06-09-2019
  •  | 
  •  

Domanda

Può sicurezza a livello utente consentire a qualcuno di accedere a un modulo, ma non accedere a una tabella? Ho una forma che è collegato a una tabella utilizzando un comando "SELECT". Non "Update" o "Cancella". Mi piacerebbe per l'utente di accedere al mio modulo, ma io non voglio che siano in grado di visualizzare i dettagli nella tabella sottostante. Ho provato tutte le combinazioni possibili nella procedura guidata protezione a livello di utente, ma per qualche ragione, la mia forma viene in su in bianco, a meno che non mi danno l'accesso completo per l'utente di fare qualsiasi cosa. Qualche idea? Tra l'altro, sono in Access 2003.

Nessuna soluzione corretta

Altri suggerimenti

Si potrebbe fare un MDE e dare ai vostri utenti. Se si esegue questa operazione, gli utenti non saranno in grado di vedere nulla, ma l'interfaccia utente che ci avete fornito.

Se le tabelle sono nello stesso database di Access come le forme e le query, è necessario prima di "dividere il database" in un frontend e backend. Vedi:

http://databases.about.com/od/tutorials/ss /splitaccessdb.htm

Per informazioni su come fare questo. L'interfaccia contiene tutto, ma i tavoli. Il backend contiene le tabelle. Il frontend è legata alle tabelle back-end utilizzando oggetti "tabella collegata" nel frontend.

Una volta che il database è diviso, aprire il frontend in Access, e creare un MDE selezionando Utilità Tools / Database / Fai File MDE dalla barra dei menu. Il MDE è quello di fornire agli utenti. Si aprono allo stesso modo in cui si farebbe con qualsiasi altro database, salvo che non possono Designer con degli oggetti.

Assicurarsi di avere una macro AUTOEXEC definito nel frontend, in modo che quando il MDE è aperto dall'utente, ha un punto di ingresso. L'utente non può vedere qualsiasi degli oggetti in MDE, quindi se non si dispone di una macro AutoExec per aprire la prima forma, non accadrà nulla quando si tenta di aprire la MDE.

Se è necessario la possibilità di gestire le tabelle collegate in MDE, consentendo all'utente di connettersi al database back-end con un dialogo File / Apri, vedere il seguente articolo:

http://www.mvps.org/access/tables/tbl0009.htm

Naturalmente, niente di tutto questo impedisce agli utenti di aprire il database back-end. Se avete bisogno di una maggiore sicurezza, è possibile eseguire l'upsize il database back-end di SQL Server Express. Maggiori informazioni qui:

http://office.microsoft.com/en-us/access /HA102755371033.aspx

Quello che stai cercando è una query RWOP. Questo significa "correre con il permesso del proprietario."

Per farlo funzionare, supponendo che hai già eseguito la procedura guidata di sicurezza sul front-end e back-end database e rimosse le autorizzazioni per gli utenti di leggere anche i tavoli, quindi si crea una query salvata come il record della il modulo. Nelle proprietà della query, si è impostato di default su RUN permessi come "dell'utente." Cambiamento che a "Il proprietario di" e salvare la query. La query verrà eseguito con qualunque autorizzazioni sulla tabella di base il proprietario della query ha. Se si esegue come un amministratore con le autorizzazioni complete, ti consigliamo di impostare le autorizzazioni della query salvata per sola lettura (o creare la query in un accesso utente che ha accesso in sola lettura alle tabelle - è molto più facile di fare la prima).

Alcuni avvertimenti:

  1. protezione a livello utente è difficile. Se si perde anche un solo passo delineato nel Libro bianco di sicurezza ULS, l'applicazione non sarà assicurato. Il modo per verificare questo è quello di aprire Access con un file predefinito di gruppo di lavoro e poi vedere se è possibile accedere agli oggetti nel database connesso come l'utente predefinito admin. Se è possibile, allora hai fatto un errore da qualche parte lungo la linea.

  2. protezione a livello utente è violabile da chiunque voglia. Questo non vuol dire che non è utile, significa solo che non è a prova di proiettile. Non preoccuparti così tanto, come ho considerare la sicurezza un problema tanto la gente come un problema tecnico - si deve dare ai dipendenti di privilegi sufficienti per fare il loro lavoro, e si ha fiducia in loro che essi non abusare dei privilegi hai dato loro.

  3. se si sta eseguendo Access 2007 e utilizzando il formato ACCDB, query RWOP non sono disponibili a voi, come Jet protezione a livello utente non è supportata per il formato ACCDB. Se si sta utilizzando il formato MDB, però, funziona bene in A2007.

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