Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2014.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Frontend/Backend mit Kennwortschutz

Wenn Sie eine Access-Datenbank mit einem Kennwortschutz versehen, kann der Benutzer ohne Kennwort nicht darauf zugreifen (außer mit gegebenenfalls vorhandener krimineller Energie). Wie aber sieht es aus, wenn Sie mit mehreren Benutzern auf die Daten einer Anwendung zugreifen wollen und diese deshalb in Frontend und Backend aufteilen wollen? Wir zeigen, welche Sicherheitslücken dadurch entstehen können und wie Sie diese – allerdings nicht ohne Aufwand – beheben können.

Die folgende Situation ist alltäglich: Sie möchten die Daten einer Datenbank, die auf dem Server liegt, schützen. Nur zugriffsberechtigte Mitarbeiter sollen darauf zugreifen können. Am besten noch so, dass verschiedene Mitarbeitergruppen nur auf bestimmte Tabellen zugreifen können.

Dummerweise besteht nicht die Möglichkeit, einen SQL Server einzurichten – mit diesem wäre das Vorhaben nämlich umsetzbar (zwar auch nicht in kurzer Zeit, denn dazu ist durchaus etwas Vorbereitungs- und Umsetzungsarbeit einzuplanen). Also müssen Sie sich mit einer reinen Access-Lösung behelfen.

Normalerweise besteht diese dann aus folgendem Szenario: Sie teilen die Datenbank in Frontend- und Backend auf und speichern dabei die Tabellen im Backend und legen entsprechende Tabellenverknüpfungen im Frontend der Datenbank an, über die Sie auf die Tabellen im Backend zugreifen können.

Frontend-Kennwort

Unerfahrere Benutzer versehen dann vielleicht jedes einzelne Frontend mit einem Kennwort, das nur der jeweilige Benutzer kennt. Der Benutzer meldet sich an und kann dann über die Verknüpfungen auf die Tabellen im Backend zugreifen.

Dummerweise liegt das Backend so immer noch völlig ungeschützt auf dem Server – das Kennwort haben Sie ja schließlich für die Frontend-Datenbank angelegt und nicht für das Backend.

Beim Anlegen der Verknüpfung fragt Access Sie dann nach dem Kennwort und speichert dieses mit der Verknüpfung.

In der Beispieldatenbank BE.mdb finden Sie eine Beispieltabelle namens tblTest mit ein paar Beispielfeldern.

Dieser fügen wir nun zuerst ein Datenbankkennwort hinzu. In neueren Access-Versionen verschlüsseln Sie die Datenbank somit gleichzeitig.

Exklusiv öffnen

Bevor Sie dies erledigen, sollten Sie jedoch sicherstellen, dass Sie die Datenbank im Exklusiv-Modus geöffnet haben. Dies erledigen Sie etwa unter Access 2010, indem Sie im Öffnen-Dialog den Eintrag Exklusiv öffnen der Öffnen-Schaltfläche auswählen (s. Bild 1).

Öffnen einer Datenbank-Datei im Exklusiv-Modus

Bild 1: Öffnen einer Datenbank-Datei im Exklusiv-Modus

Dies gelingt übrigens nur mit Datenbanken, die noch nicht anderweitig geöffnet sind. Ist dies doch der Fall, erhalten Sie eine entsprechende Meldung (s. Bild 2).

Nur noch nicht geöffnete Datenbanken können exklusiv geöffnet werden.

Bild 2: Nur noch nicht geöffnete Datenbanken können exklusiv geöffnet werden.

Datenbank verschlüsseln

Wenn Sie die Datenbank im Exklusiv-Modus geöffnet haben, können Sie etwa unter Access 2010 im Datei-Bereich unter Informationen die Schaltfläche Mit Kennwort verschlüsseln aufrufen (s. Bild 3).

Zuweisen eines Datenbank-Kennwortes und Verschlüsseln der Datenbank

Bild 3: Zuweisen eines Datenbank-Kennwortes und Verschlüsseln der Datenbank

Access fragt dann per Dialog das Kennwort ab, wobei der Benutzer dieses zur Sicherheit zwei Mal eingeben muss (s. Bild 4).

Datenbankkennwort festlegen

Bild 4: Datenbankkennwort festlegen

Keine Sperrung auf Datensatzebene

Gegebenenfalls liefert dies eine Fehlermeldung wie in Bild 5. Sie brauchen dann nichts weiter zu tun – Access ignoriert dann einfach die Sperrung auf Datensatzebene.

Keine Kompatibilität mit Sperrung auf Datensatzebene

Bild 5: Keine Kompatibilität mit Sperrung auf Datensatzebene

Kennwort testen

Schließen Sie nun die Beispieldatenbank und öffnen Sie sie erneut. Es sollte nun ein Dialog erscheinen, der Sie zum Eingeben des Kennworts auffordert (s. Bild 6).

Abfrage des Datenbankkennworts

Bild 6: Abfrage des Datenbankkennworts

Tabelle verknüpfen

Die einfachste Möglichkeit, per Frontend-Datenbank auf eine Tabelle in einer verschlüsselten und kennwortgeschützten Backend-Datenbank zuzugreifen, ist das Anlegen einer Verknüpfung.

Also schließen Sie die Backend-Datenbank und öffnen die zukünftige Frontend-Datenbank. Führen Sie die zum Verknüpfen mit einer externen Datenbanktabelle nötigen Schritte durch. Wenn Sie die Backend-Datenbank ausgewählt haben, erscheint wiederum der Dialog zur Eingabe des Datenbank-Kennworts. Nach der Eingabe zeigt Access schließlich die in der Backend-Datenbank enthaltenen Tabellen an (s. Bild 7). Wählen Sie die Tabelle tblTest aus und klicken Sie auf die Schaltfläche OK.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.