Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: DatenDuck am 15.11.06 - 14:43:23

Titel: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: DatenDuck am 15.11.06 - 14:43:23
Hallo Forum,

gibt es einen Unterschied zwischen Schablonen und Datenbanken bezogen auf ein Objekt vom Typ NotesACL?
Wenn ich dieses über folgenden normalen Weg aus einer Schablone (in dem Fall die Mail Schablone) hole, ist es null...

   Dim session As New NotesSession
   Dim dbTarget As NotesDatabase
   Dim acl As NotesACL
   Dim entry As NotesACLEntry

   Set dbTarget = session.GetDatabase(strDBServer, strDBFilepath, False)
   Set acl = dbTarget.ACL
   Set entry = acl.GetEntry(session.UserName)
   If entry.level < ACLLEVEL_DESIGNER Then
usw.


Bei normalen Datenbanken funktioniert das Problemlos.
Kann mir hierzu jemand helfen.

Vielen Dank.
Viele Grüße,
-Moritz
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: Driri am 15.11.06 - 15:31:58
Da gibt es keine Unterschied, beide werden als NotesDatabase-Objekt angesprochen.

Allerdings unterscheidet sich die ACL eines Templates von der ACL einer Datenbank.

ACL-Einträge, die aus dem Template in eine damit erzeugte Datenbank vererbt werden sollen, werden z.B. mit [] eingetragen.

Beim Erzeugen eines neuen Users wird vom System der User mit in die ACL seiner Maildatenbank eingefügt. Du wirst also in der Mailschablone keinen Eintrag zum User finden.

Wer führt denn das Skript aus ? Also was enthält session.Username ?
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: DatenDuck am 15.11.06 - 15:58:49
Das Script wird lokal mit einer Admin ID ausgeführt. Session.UserName enthällt daher eine Adminkennung.
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: koehlerbv am 15.11.06 - 16:04:21
Hallo Moritz,

in bestimmten Situationen (!) wird - wie Ingo schon schrieb - die ACL eines Templates anders behandelt als die einer "normalen" Datenbank.
A-Bär: Ich kann das von Dir beschriebene nicht nachvollziehen. Mit einem Client 5.0.8 öffne ich lokal und auf dem Server ein Template und ... das Object NotesACL ist nicht Nothing. Geändert habe ich nur die letzten beiden Zeilen:
   Set entry = acl.GetFirstEntry
   Msgbox entry.Name

Bernhard
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: Driri am 15.11.06 - 16:09:02
Oh, da hab ich mich wohl auch verlesen. Ich dachte, das Objekt "entry" wäre Null. Darum auch die Frage nach dem Username.
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: DatenDuck am 15.11.06 - 16:16:24
ARGS.... TOLL....
Es ist natürlich "ENTRY" leer und nicht "ACL"... Brainbug... Sorry....
Driri, Du hast also richtig gedacht/vermutet!!

Nur wie kann ich dann den momentanen Zugriff an einer Schablone testen!?
Das wird ja dann 'n ACL gefummel...
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: Driri am 15.11.06 - 16:27:37
Reicht Dir für den aktuellen User der Zugriffslevel ? Weil dann könntest Du das einfach über die Database-Property CurrentAccessLevel herausfinden.
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: koehlerbv am 15.11.06 - 16:31:37
Wobei hier zu beachten ist, dass das bei lokalen Schablonen (wie Datenbanken) wenig aussagekräftig sein kann: Ohne kACL ist man da immer Manager. Ein Zustand, der natürlich bei der Replikation mit einem Server sofort Makulatur wird.

Moritz: Was willst Du eigentlich genau erreichen?

Bernhard
Titel: Re: NotesACL Objekt wird in Schablone nicht instanziiert
Beitrag von: DatenDuck am 15.11.06 - 16:31:57
Was is denn heute los mit mir... Natürlich geht das so...

Sorry... Driri und Bernhard und alle andern die diesen überflüssigen Thread gerade gelesen haben...
Denkt euch einfach  :-: und macht weiter...

Vielen Dank für die Hilfe!
Bis dann,
-Moritz