Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: jor am 14.11.06 - 16:14:16

Titel: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 14.11.06 - 16:14:16
Hallo *.*,

ich habe folgendes Prob.: In einer großen von vielen Benutzern genutzte Datenbank ist konsistente ACL gesetzt, damit bei lokaler Benutzung die Gruppen ect. weiter greifen.
Jetzt kommt es aber, den wenn beim Öffnen der DB ein bestimmter Wert nicht zurückgegeben wird, so soll in der ACL der aktuelle User mit "ACLLEVEL_NOACCESS " eingetragen werden. Damit hätte sich dann ein weiteres Arbeiten für ihn erledigt, bis er von einem Admin wieder freigegeben wird.
Ich habe dazu einen Agentenaufruf ins Postopen gelegt, der Agent hat Managerzugriff und macht auch alles wie erwartet, solange KEINE konsistente ACL angehakt ist.
Laut Design-Hilfe kann das Flag gesetzt und ausgelesen werden, read/write. Aber es klappt nicht,
der Code sieht wie folgt aus:
If acl.UniformAccess Then
  acl.UniformAccess=False
  Call acl.Save()
End If
Hat jemand von euch dazu einen Tipp, oder weis wo ich den Fehler mache? Oder geht das in lokalen
Datenbanken garnicht?  ???

P.S.: In der Hilfe und hier im Forum habe ich nichts gefunden, was meine Frage beantworten würde.
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: Axel am 14.11.06 - 16:17:30
Was heißt klappt nicht? Wird das Flag nicht gelöscht/gesetzt oder greift die Änderung nicht?


Axel
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 14.11.06 - 16:20:05
Hi Axel,

nee, das Flag wird nicht weggenommen, damit der Agent den Benutzer und seinen Level setzen kann. Es passiert nichts, bzw. es gibt keine Auswirkung (mit konsistenter ACL).
Zum Testen habe ich diese mal weggenommen, dann klappt alles supi.
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: Axel am 14.11.06 - 19:11:00
Ich glaube das geht lokal nicht.


Axel
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 14.11.06 - 19:22:30
HHHhhhhmm....,
das Wegnehmen geht vielleicht lokal nicht, das Setzen schon, denn nach dem der Agent gelaufen ist, war das Flag gesetzt.
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: koehlerbv am 14.11.06 - 21:04:48
Lokal hat der User immer Managerrechte, also kann er ohne kACL machen, was will. Ist aber konsistente ACL gesetzt, dann hat er logischerweise keine Rechte mehr, die ACL zu ändern.

Bernhard
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 15.11.06 - 08:17:52
Hi Bernhard,
ebend, deshalb hat die DB ja u. a. auch die konsitenten ACL. Das Script und der Agent, der mit Managerrechten im Hintergrund ausgeführt wird, funtzen ja auch, lediglich das Flag kann dabei nicht "kurzzeitig" gekippt werden.
Wenn ich händisch die konsistente ACl ausschalten möchte, mit Mangerreccht, das geht, warum nicht mit dem Agenten????
Wäre echt super, aber i. M. sieht es so aus alls wenn Axel schonb recht hat. :-[
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: Axel am 15.11.06 - 08:43:49
Ich habe heute morgen mal das Beispiel aus der Designer-Hilfe probiert und es funktioniert auf dem Server und auch der lokalen Replik.

Wenn ich händisch die konsistente ACl ausschalten möchte, mit Mangerreccht, das geht, warum nicht mit dem Agenten????


Ganz einfach. Weil der Agent im Userkontaext ausgeführt wird, d.h. es greifen die Rechte des Users und wenn der keine Rechte hat, dann ist Schicht im Schacht.

Was du vor hast kann m.E. sowieso nicht funktionieren, oder du hast allen Usern Managerrechte gegeben. Die braucht man zum Ändern der ACL.

Axel
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 15.11.06 - 10:24:21
Hi Axel,

nee, der User hat Editor-Recht. Ich habe mir gedacht, dass das mit dem Agent funtzen sollte, da er  mit Mangerberechtigung läuft, weil eingestellt ist im Namen von "Server..." ausführen, und er ja nur durch ein Script aufgeruufen wird. Aber wahrscheinlich greift es trotzdem nicht  :'( ,
dann bedeutet wohl nicht, im Namen von ... ausführen, das damit auch die Benutzerrechte des Genannten, wenn in der ACL vorhanden, mit einbezogen werden.


 
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: Axel am 15.11.06 - 10:27:59
Ich glaube, die Option "Im Namen ausführen von..." geht nur auf dem Server. Lokal wird immer im Userkontext ausgeführt. Da bin ich mir aber nicht ganz sicher.


Axel
Titel: Re: Lokale konsistente ACL wegnehmen und neu setzen
Beitrag von: jor am 15.11.06 - 11:22:49
Das würde zu mindest das Verhalten erklären.
Danke für deine Hilfe!

Auch den Anderen vielen Dank, Thread closed.