1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

MS ACCESS Berechtigungen - Wie umsetzen?

    • Frage
  • AntiBit
  • 8. Oktober 2007 um 12:43
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • AntiBit
    Punkte
    1.712
    Beiträge
    297
    • 8. Oktober 2007 um 12:43
    • #1

    Hi Leute! Folgendes Problem/Aufgabenstellung:
    Es geht darum eine Multiuser-DB aufzubauen, mit unterschiedlichen Berechtigungen.

    Im Groben soll es eine Tabelle geben, die sämtliche Personendaten enthält:
    Ganz einfaches Beispiel:

    Tabelle: Persondata
    - Name
    - Adresse
    - Country
    ---------------

    Es geht jetzt darum, dass Personen aus jew. Ländern auch nur die Datensätze ihrer Landsleute sehen und bearbeiten dürfen. Ich dachte mir ich setze das mit Abfragen und dem hauseigenen Access-Berechtigungssystem um:

    Also Beispiel:
    Gruppe DE_users anlegen.
    Gruppe AT_users anlegen.
    Gruppe ALL_users anlegen (die dürfen alle Datensätze sehen).

    Für die DE und AT Gruppen die Ansicht der Persondata-Tabelle sperren, da dort ja alle Datensätze enthalten sind und nicht von allen gesehen werden dürfen. Nun dachte ich mir, ich verwende als jeweilige Datenquelle eine Abfrage a'la:

    Für DE_users: getPersonData_DE: SELECT * FROM persondata WHERE country = 'DE'
    analog für die Österreicher: getPersonData_AT: SELECT * FROM persondata WHERE country = 'AT'

    Jetzt die Abfrage getPersonData_DE für die DE_users berechtigen und
    die Abfrage getPersonData_AT für die AT_users berechtigen.

    GEHT SO ABER LEIDER NICHT :(
    Da die zugrundeliegende Tabelle Persondata für die 2 Gruppen zum Öffnen/Bearbeiten gesperrt ist,
    kann ich auch leider die Abfragen darauf nicht ausführen, bzw. dürfen die Abfragen auch nichts von der Tabelle lesen.

    Wie kann ich so ein Berechtigungssystem am besten umsetzen?
    Also Quasi Views für versch. Benutzergruppen einrichten.

    Was ich vermeiden will, ist, die Personentabelle zusätzlich in mehrere Tabellen splitten zu müssen (Also 1 mit allen Personendaten, 1 mit nur den DE_userdaten, eine mit nur den AT_userdaten).
    Das ist dann eine (gefährliche) Spielerei, alle Daten in den AT/DE-Tabellen konsistent mit der ganzen Persondata-Tabelle zu halten.

    Ist klar was ich meine?
    Bitte um Ideen ;)

    mfg AntiBit

  • AntiBit
    Punkte
    1.712
    Beiträge
    297
    • 8. Oktober 2007 um 21:52
    • #2

    Ok, hab schon rausgefunden wie ich das am besten mach, ohne splitten zu müssen.

    Für all jene die's interessiert:
    Access-Berechtigungssystem aktivieren, Datenbankfenster von Haus aus ausblenden und die SHIFT-Taste beim Startup mittels Makro deaktivieren.
    So kann ich alle Berechtigungen über das GUI steuern, ohne Angst haben zu müssen, dass jemand einfach so die DB-Tabellen öffnet.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum