Domino 9 und frühere Versionen > ND6: Entwicklung

Datenbanken mit bestimmter Designer ID signieren

<< < (2/2)

Glombi:
Welche Methode sollte der Agent denn nutzen?

Sign funktioniert ja nur auf einer Workstation!


Wenn der Agent mit meiner ID auf der Workstation gestartet wird, werden die Elemente auch mit meiner ID unterzeichnet, nicht mit der ID, die den Agenten unterzeichnet hat bzw. die in "Ausführen als" eingetragen ist.

Inzwischen bin ich der Meinung, dass das gar nicht programmatisch geht.

Andreas

WernerMo:
ich sehe das so wie Du Andreas,

daher werde ich den Brückentag nutzen und die "SignEZ von Ytria" endlich installieren und testen. Und mich dann melden, wenn ich mehr herausgefunden habe, das 'Video' dazu sieht ja vielversprechend aus.

Glombi:
Ich hatte auch mal einen Ansatz mit der API Funktion NSFNoteSign versucht, aber das ist auch nicht so dolle.
Hier der Code
http://www.notes411.com/dominosource/forum.nsf/0/A49C6C70815748A68025705A00301594!opendocument

und hier das "Ja, aber" dazu
http://www-1.ibm.com/support/docview.wss?uid=swg21094035

Da es in meiner Test-DB etliche Design Elemente betraf, deren Signator offenbar beschädigt war, musste ich diese im Designer alle neu speichern. Das hilft dann wirklich nicht weiter.

Die Lösung von Ytria ist wohl wirklich das beste. Die haben eine exe erstellt, d.h. keine reine Notes-Lösung. Wahrscheinlich wird die nlnotes.exe ein zweites mal gestartet, so dass man im Notes-Arbeitsbereich mit seiner ID weiterarbeiten kann.

Andreas

Glombi:
Ok, ich nehme es zurück, dass es nicht geht.

Eigentlich ganz einfach. Hier mein Experimentalcode:

On Error Goto Error_handling
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Dim session As New NotesSession
   Dim reg As New NotesRegistration
   Dim targetdb As NotesDatabase
   Dim doc As NotesDocument
   
   Dim KeyFilename As String
   Dim currentUserName As String
   Dim id_path As String
   Dim id_password As String
   
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   KeyFilename = session.GetEnvironmentString( "KeyFilename", True )
   currentUserName = session.UserName
   
   id_path =  "c:\pfadderidmitderunterzeichnetwerdensoll.id"
   id_password = "kennwort der id mit der unterzeichnet werden soll"
   
   Call reg.SwitchToID( id_path, id_password )
   
   Set targetdb = New NotesDatabase( "", "" )
   Call targetdb.Open( doc.DefaultServer(0), doc.DestPathName(0) )
   If Not targetdb.IsOpen Then
      Msgbox "Die Zieldatenbank konnte nicht geöffnet werden!",0+16,"Abbruch"
      Exit Sub
   End If
   
   'Datenbank signieren
   Call targetdb.Sign( DBSIGN_DOC_ALL )
   
   'Zur alten ID wechseln; Kennwort falsch, damit Kennworteingabe angezeigt wird
   Call reg.SwitchToID( KeyFilename, "?" )
   
   If currentUserName <> session.UserName Then
      Msgbox "Achtung: Sie arbeiten immer noch mit der Unterzeichner-ID " & session.UserName & "!",0+16,"Wechsel der ID fehlgeschlagen"
   End If
   
Ende:
   Exit Sub
   
Error_handling:
   Msgbox "Es ist folgender Fehler aufgetreten: " & Str(Err) & ": " & Error$
   Resume Ende
   


Andreas

tfrenz:
Hallo,

ich setze die Ytria Tools komplett ein.
Die funktionieren einwandfrei.
Auch signEZ habe ich im einsatz.
Das gute daran ist, das man die ID's in signEZ importieren kann incl Password.

Habe nur sehr gute erfahrungen damit gemacht.

Thomas

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln