Salve a tutti, sto cercando di creare una pagina web che permetta agli utenti Domino di cambiarsi la propria password web. Un modo che ho travato è quello di utilizzare un form particolare all\'interno del db DomCfg.nsf, ma per vari motivi vorrei evitarne l\'utilizzo. Leggendo nella guida di Notes ho scoperto che esiste un metodo chiamato ChangeHTTPPassword nella classe NotesAdministrationProcess, che dovrebbe fare esattamente quello che mi interessa. Ho costruito una semplicissima pagina web con all\'interno un <FORM> che spedisce via POST dei dati - vecchia e nuova password - ad un agente chiamato ChangeHTTPPassword. Ovviamente ho provato e non funziona. Quando l\'agente viene eseguito nella console leggo il seguente errore: "HTTP Server: Agent \'ChangeHTTPPassword\' error: Notes error: You are not authorized to perform that operation". Se lancio l\'agente direttamente da Designer, il processo per cambio password viene inserito nell\'admin4.nsf, anche se in apparenza non mi pare venga cambiata la password - ma questo è un altro problema. Prima vorrei capire perchè chiamando l\'agente via web ottengo un errore. Pretto che nel server il mio account ha "Unrestriced access" e l\'agente in questione ha settato come Runtime security level 3, cioè "Allow restricted operations with full administration rights". Ho provato ad inserire il mio nome e quello del server in "Run on behalf of" , ma il risultato non cambia. Qualcuno mi sa aiutare? Dov\'è che sbaglio? Sotto Vi riporto il codice dell\'agente che utilizzo. Grazie. Sub Initialize Dim session As New NotesSession Dim adminp As NotesAdministrationProcess Dim currentUser As String Dim currentDoc As NotesDocument Dim POSTparameters As String Dim oldPassword, newPassword, newPassword2 As String Set currentDoc = session.DocumentContext If Not (currentDoc Is Nothing) Then POSTparameters = currentDoc.Request_Content(0) oldPassword = decodeQueryString(POSTparameters, "oldPassword") newPassword = decodeQueryString(POSTparameters, "newPassword") newPassword2 = decodeQueryString(POSTparameters, "newPassword2") currentUser = currentDoc.Remote_User(0) Else currentUser = session.UserName End If oldPassword = "pincopallino" newPassword = "123456" \'newPassword2 = "123456" Set adminp = session.CreateAdministrationProcess(session.CurrentDatabase.Server) noteID$ = adminp.ChangeHTTPPassword(currentUser, oldPassword, newPassword) \' <-- questa chiamata mi genera l\'errore. End Sub
|