Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: mibo11 am 17.02.05 - 20:16:20

Titel: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: mibo11 am 17.02.05 - 20:16:20
Hallo zusammen,

ich habe einmal eine grundsätzliche Frage:

Über die Dokumenteigenschaften ist es ja möglich eine Leseberechtigung auf Dokumente zu setzen. Damit könnte nun ein Benutzer ein Dokument auf das er Editorzugriff hat mit Leserechten versehen. Das Feld $Readers wird angelegt. Dies führt dann dazu, dass selbst programmierte Lesefelder keinen Einfluss mehr haben.

Wie kann man eigentlich verhindern, dass Benutzer mit Editorrechten Leserechte in den Dokumenten vergeben?

Gruß Sascha
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: koehlerbv am 17.02.05 - 23:30:17
Eine gute Frage, Sascha. Über den Sinn dieses Features kann man wirklich streiten.
Wie kann man $Readers verhindern ? Okay, da gibt es einige Wege.
- Editorrechte sollten sowieso nur vertrauenswürdige User bekommen. Die anderen können ja auch gut mit Autorrechten leben.
- Weitere Leserfelder werden nach meiner Erfahrung nicht überschrieben. Per Agent könnte man daher $Reader-Items wieder 'rausgeworfen werden.

Dieses Thema sollte aber weiter diskutiert werden - das ist wirklich nicht uninteressant (Danke, Sascha !).

Bernhard
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: Glombi am 18.02.05 - 14:09:53
Man sollte grundsätzlich mal in jede Maske ein Autorenfeld mit einer Systemrolle a la [DefaultAuthors] versehen. Diese Rolle erhalten dann die Server und ggf. Administratoren und Datenbankmanager.
Dann kann der Besitzer dieser Rolle alles lesen, auch Dokumente die user mit $Readers schützen.

Über Sinn oder Unsinn dieses Features kann man sicherlich streiten. Am besten wäre, dass könnte der Designer einer Maske vorgeben.

Andreas
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: mibo11 am 18.02.05 - 15:18:17
Man sollte grundsätzlich mal in jede Maske ein Autorenfeld mit einer Systemrolle a la [DefaultAuthors] versehen.

Andreas, ich nehme einmal an, dass du hier Lesefeld meinst, oder?

Gruß Sascha
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: Glombi am 18.02.05 - 15:19:41
NEIN !!!
Denn dann darf ja nur die Rolle [DefaultAuthors] lesen, sofern es kein anderes Autoren- oder Lesefeld gibt.

Andreas
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: mibo11 am 18.02.05 - 15:26:24
OK,

was bringt mir aber ein Autorenfeld, wenn das Dokument für den Administrator nicht mehr sichtbar ist, da es über $Readers mit zusätzlichen Leserechten versehen wurde?

Gruß Sascha
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: Glombi am 18.02.05 - 15:34:08
Wenn der Admin die Rolle, die im Autorenfeld steht, hat, kann er das Dokument lesen.

Die Felder addieren sich. Und wenn man in einem Autorfeld steht, kann man das Dokument auch lesen, selbst wenn man nicht in einem Lesefeld steht.

Andreas
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: mibo11 am 18.02.05 - 15:44:06
Hallo Andreas,

stimmt vielen Dank.

ERGO, sollte man grundsätzlich, dies habe ich daraus gelernt, jede neue Entwicklung sicherheitshalber immer mit einem Autorenfeld mit z.B. Rolle "[DBAdmin]" beginnen. Dies hilft dann zwar nicht die Benutzer mit Editorzugriff von dem Vorhaben Leserechte zu setzen abzubringen, aber schafft die Möglichkeit die Dokumente nachträglich wieder für die Allgemeinheit sichtbar zu machen.

Schade, dass man offensichtlich das Hinzufügen von Leserechten nicht unterbinden kann.

Gruß Sascha

Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: Glombi am 18.02.05 - 16:14:17
Man kann es natürlich auch programmtechnisch verhindern, in dem man mit Script das $Readers wieder herausnimmt:

Sub Postsave(Source As Notesuidocument)
   
   If Source.Document.HasItem( "$Readers" ) Then
      Call Source.Document.RemoveItem( "$Readers" )
      Call Source.Document.Save( True, True, True )      
   End If
   
End Sub


Nur könnte dann der eine oder andere User verwirrt sein. Wenn dann auf diese Weise noch vertrauliche Daten öffentlich gemacht werden, ist das kritisch. Das gilt aber im übrigen auch für die Rolle.
Also eine interne Klärung und Bekanntgabe ist nötig. Nur um Dich abzusichern!

Andreas
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: koehlerbv am 18.02.05 - 16:18:50
PostSave muss aber gar nicht durchlaufen werden, Andreas. Das $Readers-Item kann ja auch gesetzt werden, wenn das Dok im ReadMode ist oder es über die Ansicht macht.

Bernhard
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: Glombi am 18.02.05 - 16:23:26
PostSave muss aber gar nicht durchlaufen werden, Andreas. Das $Readers-Item kann ja auch gesetzt werden, wenn das Dok im ReadMode ist oder es über die Ansicht macht.

Bernhard
Du hast Recht, es war nur ein netter Versuch  :-\

OK, dann bleibt also nur die Rolle, oder?

Andreas
Titel: Re: Allgemeine Frage zu den Leserechten ($Readers-Feld) bei Dokumenten
Beitrag von: koehlerbv am 18.02.05 - 16:28:40
Naja, der "nette Versuch" erspart dem periodischen Agent schon mal etwas Arbeit  ;)

Bernhard