Guten Morgen,
ich habe nun den Agenten von der pwdresetsample.nsf ein wenig aufgebohrt und es ist mir nun "fast" möglich, das HTTPPassword Feld eines über WEB authentifzierten Benutzers im NAB zu ändern. Ok - möglich ist es mir bis zur letzten Zeile, bis ich das Personendokument speichern möchte ERROR unterm Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim IDdoc As NotesDocument
Dim uName As String
' uName wird zugewiesen, quasi der authentifizierte Remote_User(0) der
' die Webseite gerade aufruft
Set db = session.GetDatabase("","names.nsf")
Set view = db.GetView("($Users)")
Set IDdoc = view.GetDocumentByKey(uName, True)
'
' hier passiert dann was etc ...
' und dann passt alles und ich möchte
' das NAB Dokument speichern
Call IDdoc.Save(True,False)
Alles anzeigen
Hier knallt es und es erscheint folgende Fehlermeldung.
HTTP Server: Agent 'User Password Reset agUserPasswordReset' error: Notes error: You are not authorized to perform that operation
Der Agent wurde mit dem Benutzer gesigned der auch die Personendokumente ändern darf!
Interessanterweise ist es so, dass die Session.Username oder Session.CommonUserName den Servernamen ausgibt! Was ich ja noch verstehen kann, da der Agent vom Server ausgeführt wird. Jedoch hat der Server volle Manager Rechte auf der NAB. Von der Logik her, hätte der Server das ändern müssen hat er aber nicht. ABER das möchte ich so gesehen auch nicht, sondern, meine Frage an dieser Stelle, wie stelle ich sicher, dass er das unter dem Benutzerkontext vom Agenten (also des Signers) ausführt?
Besten Dank im Voraus.
Grüße
Deny