Berechtigungen nach benutzerkonto

Hallo,

meine Datenbank soll in der Firma eingerichtet werden. Am schönsten
wäre es, wenn jeder anhand seines Windowslogins automatisch
verschiedene Berechtigungen erhält?
Wie mach ich das und muss ich davor oder hinterher das Backend anlegen?
Empfiehlt es sich, je nach Benutzer, verschiedene Frontends zu machen?
danke für Antworten
Markus

Hallo Markus,

meine Datenbank soll in der Firma eingerichtet werden. Am
schönsten
wäre es, wenn jeder anhand seines Windowslogins automatisch
verschiedene Berechtigungen erhält?

ok, dann programmiere es mal

Wie mach ich das und muss ich davor oder hinterher das Backend
anlegen?

Das Backend und Frontend sollten von Anfang an vorhanden sein!
Die Rechte definierst du dann im Frontend.

Empfiehlt es sich, je nach Benutzer, verschiedene Frontends zu
machen?

NEIN, ein Frontend für ALLE ist normal, es sei denn, jeder User soll unterschiedliche Eingabe/Ausgabeformulare etc. haben.
Die Pflege mehrer Frontends ist unproduktiv und führt spätestens nach der dritten Änderung am Backend zum Chaos.

Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)

Nur als Anmerkung bzw. Präzisierung …
Die Frontends sollten aber in der Weise „verschieden“ sein, dass jeder Benutzer eine Kopie davon auf seiner lokalen Platte liegen hat (zwar die selbe Version, wohl aber eine eigene Kopie davon). Eine gemeinsame Nutzung über das Netz ist nicht zu empfehlen.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Hallo Markus,

so wirklich kompliziert ist as eigentlich nicht was du vorhast,

Mittels der WinAPI-Funktion GetSysUsername(…) gekommst du den Benutzernamen vom Windows-System.

Wenn du dann in eine Tabelle erstellst, in der die Benutzernamen und Rechte speicherst, hast du die Moeglichkeit in deinen Formularen im OnOpen-Event Funktionen (z.B. Knoepfe oder Menues) an- oder abzuschalten, je nach Benutzer. Aber, du solltest darauf achten, das dein Font- und Backend gegen das oeffnen mittels gesichert ist und die F11-Taste nicht mehr funktioniert. Und vor allem stelle nur MDE-Dateien in eine Produktivumgebung.

btw.: Ich habe die Erfahrung gemacht, das es nicht noetig ist jedem Anwender seine eigene Kopie des Fontends zu geben, eine gemeinsame auf einem Netzlaufwerk tuts auch, Probleme hatte ich damit bisher nur auf einem Terminalserver, der als Cluster mit Loadbalancer lief. Ansonsten musst du dir nur Gedanken machen, wie du ein Update/Bugfix distributierst.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Die Probleme hast du immer dann, wenn es benutzerabhängige Änderungen im Frontend gibt (Druckereinstellungen, Seiteneinrichtung, temporäre Tabellen). Wenn man so etwas konsequent vermeidet, kann man auch mehreren Benutzern ein gemeinsames Frontend geben - einfacher und performanter ist es aber allemal, das Frontend auf die lokale Platte zu legen (und beim Rechnerstart aus dem Netz zu aktualisieren - dann erspart man sich auch den ganzen Ärger mit defekten und sich aufblähenden Datenbanken, dem Löschen temporärer Tabellen usw. usw.)

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Hallo Reinhard,

das mag ja so vieleicht stimmen,…aber, die Sys-Admins und Netz-Admins werden sich bedanken, wenn jeden morgen innerhalb einer Stunde von 120 - 150 Mitabeiter 3 bis 10 Accessfrontends auf ihre Workstation geladen werden.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Na - die Netzlast durch im Netz liegende Frontends dürfte um einiges höher sein… Vielleicht nicht so viel auf einmal - aber da habe ich auch meine Zweifel, müsste man glatt mal nachmessen.

Bei der Benutzung von 3 bis 10 verschiedenen Datenbanken (immer die selben!?) durch 150 Mitarbeiter hätte ich allerdings Zweifel ganz anderer Art. Hast du wirklich eine derartige Konstellation zu betreuen und läuft die auch nur halbwegs stabil?

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Hallo Reinhard,

tja so in etwa siehts aus, das sind 8 Anwendungen unterschiedlichster Art, die zum Teil von 40 bis 50 Anwendern gleichzeitig verwendet werden, und auch einige Anwender mehrere Access-Frontends parallel offen haben. Wobei es sich allerdings um MDEs handelt und als Backend ein Oracle 10i Cluster fungiert. Und Mittlerweile gibt es da einige Tabellen die haben mahr als 500.000 Datensaetze
Auch gibt es Anwendungen die laufen mit einem Access-Backend, die werden allerdings nur von so ca. 10-15 Anwendern verwendet und haben auch nicht diese immensen Datenmegen.

Massive Probleme gab es, wie schon erwaehnt, nur mit einem XP-Terminal-Server, der hat die Frontends regelmaessig zerschossen.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]