AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Thema durchsuchen
Ansicht
Themen-Optionen

DMS - Berechtigungssystem mit vererbbaren Berechtigungen

Ein Thema von Aviator · begonnen am 30. Aug 2016 · letzter Beitrag vom 2. Sep 2016
Antwort Antwort
Seite 1 von 3  1 23      
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#1

DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:17
Hallo Delphianer,

ich bin gerade dabei, eine bestehende, von mir programmierte, Dokumentenverwaltung umzuprogrammieren. Und zwar geht es mir um den Aspekt der Sicherheit aller abgelegten Dokumente.
Um es kurz vorweg zu nehmen: Ich habe bereits Google und die Forensuche bemüht, jedoch nicht wirklich etwas zu dem Thema gefunden. Alle gefundenen Themen bezogen sich direkt auf Windows oder Active Directory bzw. Domainumgebungen.

Aktuell wird es so gehandhabt, dass jedem Dokument die Benutzer mit bestimmten Berechtigungen zugeordnet werden. Dies ist allerdings sehr mühsam und zeitaufwendig. Je mehr Benutzer das DMS benutzen, desto schwieriger wird es, die Benutzer den Dokumenten zuzuordnen.

Im Zuge von anderen Umstellungen schwebte mir vor, ein komplett neues Berechtigungssystem zu erstellen.


Hier mal das Grundkonzept wie es später in etwa aussehen soll:
  • Die Dokumente sollen in Zukunft in einer Ordnerstruktur abgelegt werden
  • Jedem Ordner sollen Berechtigungen zugeteilt werden können
  • Berechtigungen werden hauptsächlich durch Gruppen vergeben, es kann aber auch nur ein Benutzer diesem Ordner zugeteilt werden
  • Die Berechtigungen sollen von übergeordneten Ordnern übernommen werden (Vererbung)
  • Es soll die Möglichkeit bestehen, die Vererbung zu deaktivieren bzw. die vererbten Rechte zu erweitern
  • Berechtigungen von einzelnen Dokumenten sollen ebenfalls bei Bedarf angepasst werden können. Hauptberechtigungen sind aber über die Ordner zu verteilen

Wie man sieht, soll das Berechtigungssystem in etwa aufgebaut werden wie es bei Windows der Fall ist. Zwar nicht mit ganz so vielen Rechten, aber es sollte wenn möglich erweiterbar sein.

Berechtigungen die auf jeden Fall existieren müssen:
  • Dokumente auflisten
  • Dokumente erstellen
  • Dokumente bearbeiten
  • Dokumente sperren / freigeben
  • Diese Berechtigungen sollen sowohl für eigene Dokumente, als auch für Dokumente von anderen Usern seperat verwaltet werden können --> Das bedeutet, dass bereits mindestens 8 Rechte pro Gruppe/Dokument/Benutzer existieren

In wie weit es sinnvoll ist, auch eine Berechtigung zum Auflisten der Ordner zu machen weiß ich nicht. Die Möglichkeit zur Erweiterung sollte aber generell für alles bestehen.

Die Dokumente werden mit einem Verweis auf den Speicherort der Datei in einer Datenbank abgelegt. Hierbei handelt es sich um den Microsoft SQL-Server falls das wichtig sein sollte.


Meine Frage ist jetzt, wie man so etwas überhaupt umsetzen kann. Wie muss bspw. meine Klasse aufgebaut sein um schnell an Informationen heranzukommen. Meine Benutzer- und Gruppenobjekte müssten ja einen Verweis auf die Gruppen haben, in denen diese Mitglied sind. Analog dazu braucht dies auch das Dokument. Oder wird an der Stelle dann nach dem Berechtigungen des Ordners geschaut und wiederrum kombiniert mit den Berechtigungen des Dokumentes?

Wie kann ich das System am effektivsten in mein Programm einbauen, ohne das ich nachher bei 100 Gruppen und 100 Usern 10 Minuten auf das Auflisten von Dokumenten warten muss, weil das Prüfen der Berechtigungen zu lange dauert?


Ich wäre um jeden Vorschlag dankbar, der in die gewünschte Richtung geht.

Wenn noch Rückfragen bestehen bin ich gerne bereit hier weitere Auskünfte zu geben.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:38
Ich würde mir mal Unix-Dateisystem-Rechte angucken, dass geht ja in eine ähnliche Richtung. Damit kann man schon ganz gut arbeiten.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:43
Wenn ich den Flieger richtig verstanden habe, ist das Was nicht das Problem, sondern das Wie. Und darüber gibt die Wikipedia an der Stelle leider wenig Auskunft. Ich denke aber, daß man mit Dictionaries gut voran kommen müsste. Die Zugriffe sind schnell, man muss sich halt überlegen, wie man das organisiert.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:56
Hallo,
wo liegen den die Dokumente?
In einer DB oder auf der Platte.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:58
Die Dokumente werden mit einem Verweis auf den Speicherort der Datei in einer Datenbank abgelegt. Hierbei handelt es sich um den Microsoft SQL-Server falls das wichtig sein sollte.
Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 13:58
Hallo,
wo liegen den die Dokumente?
In einer DB oder auf der Platte.
Wie es aussieht auf der Platte
Zitat:
Die Dokumente werden mit einem Verweis auf den Speicherort der Datei in einer Datenbank abgelegt.
Markus Kinzler
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 14:16
Hallo,
wo liegen den die Dokumente?
In einer DB oder auf der Platte.
Wie es aussieht auf der Platte
Zitat:
Die Dokumente werden mit einem Verweis auf den Speicherort der Datei in einer Datenbank abgelegt.
Danke @Sherlock und @mkinzler,

das ist korrekt. In der Datenbank wird lediglich vermerkt, dass es das Dokument gibt. Die eigentliche Datei wird auf einem Server gespeichert. Die Berechtigungen im Filesystem zu erstellen funktioniert leider nicht. Es handelt sich hierbei um einen Linux Server. Außerdem sollen ja auch die Dokumente schon je nach Berechtigungen des Benutzers im DMS angezeigt bzw. ausgeblendet werden. Da würden Filesystemberechtigungen nichts bringen.

Wenn ich den Flieger richtig verstanden habe, ist das Was nicht das Problem, sondern das Wie. Und darüber gibt die Wikipedia an der Stelle leider wenig Auskunft. Ich denke aber, daß man mit Dictionaries gut voran kommen müsste. Die Zugriffe sind schnell, man muss sich halt überlegen, wie man das organisiert.

Sherlock
Genau das ist jetzt die Frage. Reichen Dictionaries dafür aus oder muss es eine eigene Klassenstruktur sein. Und die Organisation der Dictionaries ist dann die nächste Frage.

Unix/Linux Dateisystemrechte reichen vmtl. nicht aus. Dort gibt es oft nur die Möglichkeit mit "rwx". Ich bräuchte aber eben die im ersten Beitrag angegebenen Möglichkeiten um die Rechte zu vergeben.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 14:25
Ich würde deshalb auch auf die Speicherung im Filesystem verzichten und die "Dateien" auch gleich in der Datenbank ablegen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 14:28
Dort gibt es oft nur die Möglichkeit mit "rwx". Ich bräuchte aber eben die im ersten Beitrag angegebenen Möglichkeiten um die Rechte zu vergeben.
Gerade um "rwx" ging es mir nicht.
  1. Die Dokumente sollen in Zukunft in einer Ordnerstruktur abgelegt werden passt
  2. Jedem Ordner sollen Berechtigungen zugeteilt werden können passt
  3. Berechtigungen werden hauptsächlich durch Gruppen vergeben, es kann aber auch nur ein Benutzer diesem Ordner zugeteilt werden Owner-, Group-, und Other-Rechte
  4. Die Berechtigungen sollen von übergeordneten Ordnern übernommen werden (Vererbung) OK, da müsste man sich etwas überlegen.
  5. Es soll die Möglichkeit bestehen, die Vererbung zu deaktivieren bzw. die vererbten Rechte zu erweitern Späteres Anpassen der Rechte möglich, unabhängig von den Rechten des Ordners
  6. Berechtigungen von einzelnen Dokumenten sollen ebenfalls bei Bedarf angepasst werden können. Hauptberechtigungen sind aber über die Ordner zu verteilen OK, da müsste man sich etwas überlegen.

Im Prinzip würde ich die Ordnerhierarchie absteigen und immer überprüfen ob man den nächsten Schritt machen kann. Wenn keine neuen Rechte/Werte für Owner, Group oder Other gesetzt sind, werden jeweils die des Ordners darüber übernommen.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 30. Aug 2016, 14:29
Ich würde deshalb auch auf die Speicherung im Filesystem verzichten und die "Dateien" auch gleich in der Datenbank ablegen.
Hat zwar mit dem eigentlichen Problem wenig zu tun, aber darüber hatte ich mir ganz zu Beginn des Projektes bereits Gedanken gemacht. Die Dateien selbst sind ja verschlüsselt abgelegt. Es kommt also keiner dran ohne über das DMS zu gehen. Deshalb würde ich die Berechtigungen gerne über mein DMS laufen lassen. Wir haben eben auch auf die Größe der Datenbank geachtet und uns deshalb für die externe Speicherung entschieden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz