Das Notes Forum

Domino 8 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: booltrue am 14.08.19 - 16:00:53



Titel: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 14.08.19 - 16:00:53

Hallo,

wir nutzen verschiedene Rollen, um bestimmte Zugriffe auf unterschiedliche Dokumente zu ermöglichen.
Ist jemand einer bestimmten Rolle nicht zugewiesen, soll aber auf ein bestimmtes Dokument in diesem Bereich Zugriff bekommen, wird er in das ReaderAccess / Author Feld eingetragen.
Es gibt jetzt die Anfrage, ob es möglich ist, nur bestimmten Personen Zugriff auf ein spezielles Dokument zu geben. D.h. die Rolle für dieses Dokument sollte deaktiviert werden, und nur das ReaderAccess Feld sollte funktionieren.
Jetzt frage ich mich, ob so etwas möglich ist.

Grüße


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: Bastel123 am 14.08.19 - 16:40:15
Wie steuern denn die Rollen den Zugriff?
Normalerweise stehen die Rollen dann in einem Leser/Autoren Feld.

Dann die Rolle raus und die User im Format "Max Mustermann/OU/O" eingetragen.

Sebastian


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 14.08.19 - 17:30:39

Es wird im Code abgefragt, ob der User eine bestimmte Rolle hat.


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: eknori am 14.08.19 - 18:00:50
Dann stimmt an eurem Konzept was nicht.

Die Rolle gehört, wie ein Individuum oder eine Gruppe in ein Leser/Autoren Feld.
Der eingeloggte User sieht dann nur „seine“ Dokumente.
Da brauch es keinen Code für.


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 15.08.19 - 09:11:27

Jeder User kann schon seine eigenen Dokumente sehen,
das wurde in der Ansichtsauswahl durch Bedingungen realisiert.
Hier wird ein Feld mit dem aktuellen User verglichen.
Jeder User hat einen eigenen View und kann seine Dokumente sehen.

Es gibt aber viele weitere User, die keine Dokumente erstellen,
aber Zugriff auf bestimmte Dokumente erhalten sollen (über AllView), daher
zusätzlich verschiedene Rollen.
Ist jemand keiner bestimmten Rolle zugeordnet,
wird der Zugriff auf eine bestimmte Gruppen von Dokumenten verweigert.



Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 15.08.19 - 11:16:33

Ok ich glaube ich verstehe, wie ihr das meint.
Die Rollen stehen aber in keinem Feld im Dokument.
Es wird nur die Rollenzugehörigkeit des User geprüft, wie mit @UserRoles
Die Datenbank ist so schon realisiert, ob das Konzept nun gut oder schlecht ist, sei dahin gestellt.
Die ist schon älter und lange in Benutzung.


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: Peter Klett am 15.08.19 - 12:04:31
D.h. Ihr habt ein völlig eigenes Verfahren, wie Ihr die Zugriffe auf die Dokumente steuert. Und nun fragst Du hier (in Deinem Ursprungspost), ob man das ändern kann?

Nun, wenn man das selber bauen kann, sollte man das auch selber ändern können. Was erwartest Du jetzt als Antwort?

Vermutlich greift Euer Code in den persönlichen Ansichten der Benutzer. Wenn der geändert wird, müssen danach ggf. die persönlichen Ordner aktualisiert werden, falls nicht alles sauber in Agenten ausgelagert wurde. Oder Ihr denkt doch mal über das Konzept nach und ändert es, unabhängig davon, ob das nun schon alt ist, oder nicht.


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 15.08.19 - 16:13:45

Hab's nun gelöst, und ja, du hast recht, wenn man was selber macht, sollte man schon wissen, wie man es ändert.  ::)


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: Bastel123 am 15.08.19 - 16:25:27
Hast Du auf Leser/Autoren-Felder umgestellt (hier wird der beste Schutz geboten) oder deine bisherige Programmierung erweitert?

Wie verweigerst Du bisher den Zugriff auf die Dokumente?


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 16.08.19 - 09:29:39

Generell passiert das meiste im Queryopen Event.
Dort wird die Rollenzugehörigkeit abgefragt.
Und falls der User dieser Rolle nicht zugehört,
wird eine Messagebox ausgegeben und continue=false gesetzt,
damit das Dokument nicht geöffnet werden kann.

Es gibt noch zwei Namen-Felder.
Das eine wird genutzt, um Usern Zugriff auf bestimmte Dokumente zu erlauben,
obwohl sie nicht in der entsprechenden Gruppe sind.
Das andere wird genutzt, um nur den Usern Zugriff auf Dokumente zu gewähren,
die in diesem Feld stehen, unabhängig von irgendwelchen Rollen.

Das alles ist vlt nicht schön, aber es funktioniert.



Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: Peter Klett am 16.08.19 - 09:54:28
D.h. die Benutzer können die Dokumente sehen, dürfen sie aber nicht öffnen? Das taugt nicht wirklich zur Benutzersteuerung, da ja viel mehr Dokumente zu sehen sind, als notwendig. Und noch weniger taugt es zum Schutz der Daten, wenn die Benutzer die Dokumente nicht lesen DÜRFEN. Alle Informationen sind ja schließlich verfügbar, unabhängig davon, ob man das Dokument geöffnet bekommt oder nicht.


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: Tode am 16.08.19 - 17:12:15
Schalt mal den Lotusscript- Debugger ein und stoppe beim öffnen die Verarbeitung in der ersten Zeile... schwups geht das Dokument auf... und das kann jeder User an jedem Client auch machen, er braucht nichtmal einen Designerclient. Security by obscurity war noch nie eine gute Idee... und dass jeder User sich einfach Ansichten bauen kann, die alle Dokumente zeigen, oder einfach in den Dokumenteigenschaften nachschauen kann, ist da noch gar nicht berücksichtigt.

Notes hat ein fantastisches - und kaum knackbares- sicherheitskonzept mit Leser- und Autorenfeldern und der ACL... das sollte man tunlichst auch nutzen, und nix eigenes bauen...


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: booltrue am 20.08.19 - 11:34:40

Danke für den Hinweis, und ja, damit ist die Sicherheit hinfällig.

Nochmals Danke für die vielen Tips und Hinweise, wie man das richtig realisiert.

 :)


Titel: Re: ACL Rollen und Lesezugriffsrechte
Beitrag von: billygates am 04.12.19 - 14:48:13
Es gibt hier auch eine schöne Abhandlung zum Thema Leserfelder und Autorenfelder: https://atnotes.de/index.php/topic,51224.0.html