Autor Thema: HTTPPassword per LS setzen klappt nicht.  (Gelesen 3852 mal)

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
HTTPPassword per LS setzen klappt nicht.
« am: 18.08.10 - 18:17:12 »
Hallo,

leider habe ich hier keine Lösung zu meinem Problem gefunden.
Ich erstelle per LS Agent in einer DB ein Personendokument im DD.
Das Felder stzen klappt ordentlich, bis auf das HTTPPassword Feld.
Wenn ich das Personendokument nochmal öffne und neu abspeicher, wird der Hashwert neu berechnet.

Hier der Code meines Agenten:

Dim session As New Notessession   
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim Doc As NotesDocument
   Dim dddoc As NotesDocument
   Dim item As NotesItem
   Dim listitem As NotesItem
   
'Settings für die Datenbank Variablen   
   Set db = session.CurrentDatabase
   Set view = db.GetView( "vwNewPersons" )
   Set Doc = view.GetFirstDocument
   
'Settings für die Domino Directory Datenbank
   Dim dddb As New NotesDatabase( "DominoServer","test-names.nsf" )
   
   
   
'Schleife über alle Doks in der New Persons View
   
   While Not ( doc Is Nothing )
      If Doc.Status(0) = "New" Then
         Print "New User found: " + doc.FirstName(0) + " " + doc.LastName(0)
         
         meinPasswort = passwordGenerator(8)
         Print "PWD: " + meinPasswort
         
         Print "Create now document in Domino Directory"
         
         Set dddoc = dddb.CreateDocument
         dddoc.Form = "Person"
         
         dddoc.FirstName = doc.FirstName(0)
         dddoc.LastName = doc.LastName(0)
         dddoc.FullName = "CN=" + doc.FirstName(0) + " " + doc.LastName(0) + "/O=" + doc.CompanyName(0)
         Set listitem = dddoc.GetFirstItem( "FullName" )
         Call listitem.AppendToTextList( doc.FirstName(0) + " " + doc.LastName(0) )         
         dddoc.CellPhoneNumber = doc.CellPhoneNumber(0)
         dddoc.CompanyName = doc.CompanyName(0)
         dddoc.HTTPPassword = "test123"
         dddoc.MailAddress = doc.MailAddress(0)
         dddoc.MailSystem = "5"
         dddoc.OfficePhoneNumber = doc.OfficePhoneNumber(0)
         dddoc.Owner = "Stefan Senf/ilink"
         dddoc.ShortName = doc.MailAddress(0)
         dddoc.Type = "Person"
         
         Set item = dddoc.GetFirstItem("Fullname")
         item.IsAuthors = True
         
         
         Call dddoc.ComputeWithForm( True, True )
         Call dddoc.Save( True, True )
         
      End If
      Set doc = view.GetNextDocument( doc )
   Wend
   
« Letzte Änderung: 19.08.10 - 09:24:57 von pimpfling »
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #1 am: 18.08.10 - 18:18:06 »
Hier noch der Code vom PWD Generator:

Function passwordGenerator(Byval lngLength As Long) As String
   
' Description: Generate a random password of 'user input' length
' Parameters : lngLength - the length of the password to be generated
' Returns    : String    - Randomly generated password
' Created    : 08/21/1999 Andrew Ells-O'Brien (andrew@ellsobrien@msn.com)
' Updated    : Rocky Oliver, Sapphire Oak Technologies (rock@sapphireoak.com)
    ' made it work in LotusScript
   On Error Goto errHandler
   Dim iChr As Integer
   Dim c As Long
   Dim strResult As String
   Dim iAsc As String
   
   Randomize Timer
   
   For c = 1 To lngLength                           
          ' Randomly decide what set of ASCII chars we will use
      iAsc = Int(3 * Rnd + 1)
      
          'Randomly pick a char from the random set
      Select Case iAsc
      Case 1
         iChr = Int((Asc("Z") - Asc("A") + 1) * Rnd + Asc("A"))
      Case 2
         iChr = Int((Asc("z") - Asc("a") + 1) * Rnd + Asc("a"))
      Case 3
         iChr = Int((Asc("9") - Asc("0") + 1) * Rnd + Asc("0"))
      Case Else
         Error 1000, "PasswordGenerator has a problem."
      End Select
      
      strResult = strResult & Chr(iChr)
   Next c
   
   PasswordGenerator = strResult
   
getOut:
   Exit Function
   
errHandler:
   Msgbox Error$ & "(" & Err & ") [in " & Lsi_info(2) & "]"
   PasswordGenerator = ""
   Resume getOut         
End Function
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #2 am: 18.08.10 - 20:42:47 »
Stefan, an Deinem Code passt aber nix zusammen. Du belegst HTTPPassword mit "test123" und veröffentlichst danach Deinen "PasswortGenerator", der lt. Code für nix arbeitet.

Schau Dir doch bitte einfach mal an, was der Button über dem Feld HTTPPassword tut und vor allem, was im Feld selbst passiert.
Und das brauchst Du nur in LS nachzubilden.

Bernhard

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #3 am: 18.08.10 - 22:24:58 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #4 am: 19.08.10 - 08:41:41 »
Stefan, an Deinem Code passt aber nix zusammen. Du belegst HTTPPassword mit "test123" und veröffentlichst danach Deinen "PasswortGenerator", der lt. Code für nix arbeitet.

Schau Dir doch bitte einfach mal an, was der Button über dem Feld HTTPPassword tut und vor allem, was im Feld selbst passiert.
Und das brauchst Du nur in LS nachzubilden.

Bernhard

ja, sorry, das mit dem test123 habe ich reingenommen um zu sehen ob der Hashwert immer der selbe ist.

Der Knopf macht im wesentlichen zwei Sachen die ich ncht mache:

@SetField("HTTPPassword";tmpPassword); <-- Mache ich auch
@SetField("HTTPPasswordChangeDate";@Now)));  <-- Mache ich nicht
@Command([ViewRefreshFields]); <-- Mache ich auch nicht, oder kommt das mit dem computewithform ?

Werde jetzt auch noch das HTTPPasswordChangeDate setzen, mal schauen ob klappt...
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #5 am: 19.08.10 - 08:42:25 »
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: HTTPPassword per LS setzen klappt nicht.
« Antwort #6 am: 19.08.10 - 09:17:08 »
schau Dir doch mal die Applikation an ....

http://openntf.org/Projects/pmt.nsf/4cf7002b4da2f726862570ef007ed885/73A9E9F4351F461B862575990076CB69/$file/ZZ39B17703.jpg

Der Tipp war super :)
Die folgende Zeile hats jetzt gebracht:

dddoc.HTTPPassword = session.HashPassword(meinPasswort)

Dankeschön.
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz