Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen

  Alt 1. Sep 2016, 23:41
ich glaube du hast dich verlesen.
Die Berechtigungen sollen natürlich nur im DMS abgebildet werden. Es ging mir lediglich darum, dass Dateien aus dem Windows Explorer ja einmalig dem DMS hinzugefügt werden müssen. Und das passiert in der Regel per FileOpen Dialog oder per Drag & Drop aus dem Explorer Fenster bzw. vom Desktop.
Ich glaube nicht, dass ich mich verlesen habe. Wir haben uns vielleicht missverstanden. Eben dieses Hinzufügen per Drag and Drop mit dem Explorer würde ich verhindern, und mit einem Frontend welches du über das DMS bereitstellst (kann ja auch aussehen wie der Explorer) erledigen. In diesem Frontend würde ich jeglichen Zugriff auf die Dateien abwickeln, und hätte somit eine zentrale Stelle, an welcher ich (über das von dir schon angedachte Klassendesign) auch alle Zugriffsrechte abfrage und definiere. Im Prinzip sowas wie echtes Client-Server-Management. Nur das DMS selber weiß, wo die Daten liegen. Die Benutzer greifen selber nicht mehr direkt auf die Daten zu.
Hmm. Du meinst also, dass ich noch eine Art Windows Explorer in mein Programm implementieren soll um die Daten erstmalig zur Dokumentenverwaltung hinzuzufügen? Wenn nicht, dann verstehe ich es nicht.

Wenn die Daten erst einmal im DMS eingecheckt sind, dann werden die an einem speziellen Ort abgelegt an den niemand mehr heran kommt ohne über das DMS die Datei/das Dokument zu öffnen.

Puhh.. ich muss zugeben, dass ich sehr verwirrt bin als das ich das Ganze hier noch richtig nachvollziehen könnte.

Irgendwie habe ich was gelesen von MS-SQL-Server. Da wäre ich ganz bei mkinzler. Die Reports in die DB schieben und das wunderbare Rechtesystem einer ausgewachsenen Datenbank nutzen. Lässt eigentlich nie Wünsche offen.

Dann habe ich was von Linux-Server gelesen. Warum dann nicht Samba nutzen? Da kann man ebenso richtige dolle Benutzerrechte in aller erdenklicher Form nutzen.

Das alles selber machen zu wollen, klingt für mich wie das Rad neu erfinden zu wollen. Oder gibt es irgendwas konkretes, spezielles, dass beide Ideen nie und nimmer umsetzen könnten? Wie gesagt.. ich habe es vielleicht noch nicht so recht erfasst, das Problem.
Ich hoffe ich kann nochmal etwas Licht ins Dunkel bringen.

In der Datenbank werden die Verweise auf ein Dokument abgelegt. Das Dokument, also die Datei, wird auf einem Server abgelegt auf den so niemand direkten Zugriff hat. Das ist ein Linux Fileserver auf den per Samba zugegriffen wird.

Alle anderen Metadaten wie Dateityp, Datum des Eincheckens usw. werden ebenfalls noch in der Datenbank abgelegt. Zudem sollen später die Berechtigungen (also binäre Zahlenwerte) pro Verzeichnis bzw. auch pro Dokument in der Datenbank gespeichert werden.

Ich wüsste nicht, wie ich aus meinem Programm heraus das Berechtigungssystem von Linux oder auch Windows nutzen sollte um genau diese Dinge abzubilden. Es wird ja auch noch einige andere Rechte außer Lesen, Schreiben, Ausführen geben die pro Verzeichnis/Dokument hinterlegt werden können.

Aber wie gesagt. Ich habe jetzt etwas im Kopf von dem ich ziemlich überzeugt bin, dass das klappen müsste. Wenn es eine bessere Idee (und eine Anleitung dazu ) gibt, dann bin ich auch dafür offen.

Aktuell würde mich aber interessieren, wie ich meine Klasse sinnvoll gestalten kann um das alles so effizient wie möglich abzubilden. Die Berchnung der einzelnen Rechte habe ich ja bereits in einem anderen Post dargestellt. Das müsste so eigentlich funktionieren. Es könnte höchstens sein, dass man das nochmal effizienter gestalten kann und man hierfür nicht "so viele" xor, or und and Operationen bräuchte.
  Mit Zitat antworten Zitat