Domino 9 und frühere Versionen > ND6: Entwicklung
Datenbanken mit bestimmter Designer ID signieren
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