![]() |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
so ist es aktuell. Jedem Dokument werden die Mitarbeiter zugeordnet, die das Dokument sehen, downloaden oder bearbeiten können. Das hat sich aber für sehr schwierig und zeitraubend erwiesen. Niemand hatte mehr Lust die Dokumente einzuchecken, da es viel zu viel Arbeit war immer die Benutzerrechte zu hinterlegen. Rollen, oder wie ich es nenne, Gruppen, machen das ganze etwas einfacher, das stimmt. Aber auch die aktuelle Art der Ablage der Dokumente erwies sich als nicht wirklich gut. Es soll später möglich sein, die Dokumente auf einen Ordner zu ziehen (aus dem Windows Explorer) und sich dann um nichts weiteres mehr kümmern zu müssen. Die Rechte des neuen Dokuments werden vom übergeordneten Ordner geerbt und das war es. Wenn dann spezielle Rechte gesetzt werden sollen, dann muss der User das eben machen, das ist klar. Für die Suche der Dokumente gibt es ja immer noch die Eingabe von Schlagwörtern. Somit werden entweder alle Dokumente untereinander aufgelistet, oder aber man klickt sich durch die entsprechenden Ordner und erhält nur noch die Dokumente, die etwas mit dem Schlagwort zu tun haben. |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Nicht der Benutzer wird dem Dokument zugeordnet, sondern die Rolle. Innerhalb der Rolle können vielleicht auch noch Berechtigungen einschränkt oder erweitert werden. Der Komplexität sind keine Grenzen gesetzt.
Grüße Mikhal |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
Ein simples Drag & Drop aus dem Windows Explorer auf das DMS soll reichen, um ein Dokument einzuchecken. Spezielle Berechtigungen können dann immer noch gesetzt werden wenn erforderlich. |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
Die Ordnerstruktur wird wie beim Explorer im DMS angezeigt und dort werden auch die Rechte vergeben, z.B. aus der Klasse eingelesen. Wenn man die Rechtevergabe auf Dateiebene macht, viel Spass beim nächsten Systemwechsel :stupid: |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
ich glaube du hast dich verlesen. :wink: 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. Sobald die Datei einmal im DMS ist, soll diese vom lokalen Rechner gelöscht werden. Alle anderen Aktionen mit dem Dokument werden über das DMS geregelt. Deshalb betreibe ich ja den riesen Aufwand um ein eigenes Berechtigungssystem zu erstellen. Nur ist das sehr viel Arbeit, bei der ich auf eure Unterstützung hoffe. An was muss ich alles denken, wie sollte meine Klassenstruktur aussehen, wie kann man Prozesse zu errechnen der Berechtigungen effizient(er) gestalten (siehe Beitrag ![]()
Delphi-Quellcode:
. Aber ich lasse mich auch gerne eines besseren beleheren. :-D
and, or, xor
PS: Du hast in deinem Beitrag den falschen zitiert. :lol: |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
|
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
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. |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
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. Zitat:
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. |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Hmm..
[QUOTE=Aviator;1346509][QUOTE=mm1256;1346483] Zitat:
Ich glaube, da ist der Fehler! Also ich würde nicht die Berechtigungen 'ausrechnen' sondern über die Datenbank beim Einchecken einer Datei diesem Eintrag über eine Verknüpfungstabelle die 'Gruppen' oder eventuell 'Benutzer' verlinken. Dies können N Verknüpfungen sein. Wenn nun versucht wird auf ein 'Verzeichnis' in deinem DMS zuzugreifen, dann wird erst anhand dieser Verlinkungen das tatsächliche Recht ermittelt. Wenn Du dieses 'Recht' direkt 'fest' bei der Datei einträgst ohne die Verknüpfungen, dann kannst Du beim Verändern eines Rechtes nicht wissen, woher die vorherigen Rechte kommen. Alternativ kannst Du auch stat einer Gruppe oder eines Benutzers in der Verknüpfung auch den Parent in deiner visuellen Baumstruktur angeben und dann hat der Eintrag die gleichen Rechte, wie das übergeordnete Verzeichnis. Achja, nach diesem Schema funktionieren übrigens auch Dateisysteme, dort ist die Datenabnk z.B. in der NTFS / ext3 Struktur eingebettet. |
AW: DMS - Berechtigungssystem mit vererbbaren Berechtigungen
Zitat:
die Verlinkung der Gruppen wie du es nennst wollte ich ja auch in der Datenbank hinterlegen. Nun ist es aber ja so, dass dem Dokument eine oder mehrere Gruppen und ein oder mehrere Benutzer zugeordnet werden können. Diese Gruppen und/oder User können, wie das bei NTFS ja auch der Fall ist, pro Dokument natürlich auch unterschiedliche Rechte haben. Wenn die Vererbung aktiviert ist, dann erhält das Dokument zwar die übergeordneten Rechte des Verzeichnis, aber ich kann ja trotzdem noch Berechtigungen hinzufügen bzw. sogar verweigern. Also muss ja doch wiederum pro Dokument die eigentliche Berechtigung für den Benutzer aus Verzeichnis- und Dokumentrechten ermittelt werden. Und das pro Benutzer und aller dem Benutzer und Dokument zugeordneten Gruppen. Und wenn die Vererbung deaktiviert wird, dann muss ich dem Dokument erst recht alle Informationen geben. Die Verlinkungen können auf das Dokument kopiert werden (wenn dies beim Deaktivieren gewünscht wird). Spezielle Dokumentrechte sind ja dann sowieso schon mit dem Dokument verknüpft. Ich habe mir natürlich schon sehr viele Gedanken über das Problem gemacht. Aber vielleicht übersehe ich ja was und du kannst mir sagen, wie es einfacher gehen kann. Das Rechtesystem soll ja wirklich ziemlich stark an das NTFS Filesystem mit ACLs angelehnt sein. Ein Problem das ich sicherlich noch habe ist, wenn ein Administrator im Hintergrund die Berechtigungen der Dokumente bzw. Verzeichnisse ändert. Sei es durch das Hinzufügen von Gruppen oder einfach nur die Erweiterung um bspw. das Recht "Verändern". Diese Rechte müssen dann ja ohne Neustart zur Laufzeit eingelesen werden. An der Stelle könnte ich mir noch etwas wie ein Aktualisieren Button vorstellen, der den ganzen Verzeichnisbaum neu aufbaut und die neuen Rechte einliest. Wie das automatisch im Hintergrund ablaufen könnte weiß ich (noch) nicht. Das selbe Problem bestünde aber auch für bereits in der Dokumentliste angezeigte Dokumente. Zitat:
Ein anderes Problem ist, dass ich beim Suchen von Dokumenten nur noch eine Liste mit Dokumenten habe die aber nicht mehr in einer Verzeichnisstruktur dargestellt werden. Hier muss ich dazu sagen, dass ich darüber aktuell noch nicht wirklich nachgedacht habe. In der aktuellen Version ist es jedoch so. Somit hätte ich kein Parent Directory mehr um daran die Rechte abzuleiten. Aber da muss ich mir noch etwas überlegen. Bin aber auch für jeden Vorschlag dankbar. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz