Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Demian am 03.01.08 - 09:14:37

Titel: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 03.01.08 - 09:14:37
Moin,moin,

erstmal ein frohes neues Jahr allen zusammen. Und schon die ersten Probleme: bei uns gab es vor einiger Zeit einen Admin-Wechsel. Dummerweise wurde bei der ein oder anderen Datenbank die ACL vorher nicht entsprechend geändert, so dass der neue Admin keinen Zugriff hat. Kein Problem hab ich mir gedacht und einen Agenten mit folgendem Code erstellt:

Sub Initialize
   Dim work As New NotesUIWorkspace
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim QuellDB As NotesDatabase
   Dim Verz As NotesDbDirectory
   Dim Acl As NotesACL
   Dim Entry As NotesACLEntry
   Dim Datenbanken() As Variant
   Dim Auswahl As Variant
   
   Set db = s.CurrentDatabase
   Set Verz = s.GetDbDirectory("Baghira")
   Set QuellDb = Verz.GetFirstDatabase(DATABASE)
   
   i = 0
   
   While Not (QuellDb Is Nothing)
      Redim Preserve Datenbanken(i) As Variant
      Datenbanken(i) = QuellDb.FilePath
      
      Set QuellDB = Verz.GetNextDatabase
      i = i + 1
   Wend
   
   Auswahl = work.Prompt(4,"Baghira","Datenbank wählen",,Datenbanken)
   
   Set Quelldb = s.GetDatabase("Baghira",Auswahl,False)
   Set Acl = QuellDB.ACL
   Set entry = New NotesACLEntry(acl,"LocalDomainAdmins",6)
   entry.UserType = 4
   Call acl.Save
   
   Msgbox "Die Personengruppe LocalDomainAdmins wurde der Datenbank als Manager hinzugefügt"
   
End Sub


Den Agenten habe ich mit der Server-ID signieren lassen, da dieser ja überall Managerrechte hat. Wenn man den Agenten jetzt ausführt, kommt trotzdem der Hinweis, dass man keinen Zugriff hat ???

Ich dachte immer die Server dürfen alles ??? Oder dauert es evtl. ne Weile bis der Agent wirklich weiß, dass er ja jetzt mit dem Server signiert ist?

Gruß
Demian
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Driri am 03.01.08 - 09:18:38
a) Ihr solltet euch dringend überlegen, wenigstens mit einer Gruppe zu arbeiten.

b) Ich würde den Agent einfach als "Run on behalf" für den Server einstellen (Eigenschaften Agent, 2. Tab) und an der Konsole per tell amgr run aufrufen (genaue Syntax siehe Adminhilfe).

Edit :

Merde, b) funktioniert natürlich nicht genau so, da Du mit Prompt arbeitest. Run on behalf kannst Du aber trotzdem verwenden.
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: m3 am 03.01.08 - 09:34:39
Neuen Admin als "Full Access Admin" definieren (entweder direkt im Server-Dok eintragen oder (eleganter) über die entsprechende Gruppe).

Dann kann er im "Full Access Admin" Modus die ACL selber anpassen.
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 03.01.08 - 12:26:18
Moin ihr Zwo,

erstmal danke für eure Antworten. Inzwischen ist es ja eine Admin-Gruppe (entry.type = 4). Weiß auch nicht, was den vorherigen Admin da geritten hat, nur sich selbst einzutragen.

Kann das aber erst Montag testen, da unser Admin dann erst wieder kommt und ich von der Admin-Seite keinen blassen Schimmer habe :) Melde mich dann Montag wieder.

Verstehe aber trotzdem nicht, warum die Signierung nicht greift...

Gruß
Demian
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: koehlerbv am 03.01.08 - 12:28:55
Wie hast Du denn den Agenten gestartet?
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 03.01.08 - 12:53:17
Moin Bernhard,

habe den ganz normal über Aktionen gestartet. Muss der evtl. über .runonserver gestartet werden?

Gruß
Demian
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: koehlerbv am 03.01.08 - 12:57:01
Dann wird der Agent auf Deinem Client und unter Deiner ID ausgeführt.
RunOnServer wäre eine der Methoden, dass wirklich die Signatur des Servers greift.

Bernhard
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 03.01.08 - 13:07:45
Oh, gut zu wissen. Dachte es wird immer die Signatur-ID genommen. Werde es dann in eine Aktion packen.

Vielen Dank.

Gruß
Demian
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 07.01.08 - 12:55:42
Moin,moin,

ich habe das heute getestet. Wenn ich den entsprechend geänderten Agenten aus der Aktion heraus mit .runonserver starte, trägt er mir die Gruppe in die ACL ein.

@Bernhard:
Zitat
RunOnServer wäre eine der Methoden, dass wirklich die Signatur des Servers greift.

Rein Interesse halber: Welche Methoden würden denn noch gehen?

Vielen Dank nochmal.

Gruß
Demian
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: koehlerbv am 07.01.08 - 13:02:40
Scheduled, getriggert (als die einfachen Varianten).

Bernhard
Titel: Re: ACL-Anpassung durch mit Server signierten Agenten
Beitrag von: Demian am 07.01.08 - 15:10:49
getriggert im Sinne von: Nachdem ein Dokument erstellt wurde usw? Wieder was gelernt. Ich war wie gesagt immer der Meinung, dass grundsätzlich die Signatur-ID genommen wird.

So kann man sich täuschen.

Vielen Dank.

Gruß
Demian