Autor Thema: Datenbank per Agent signieren  (Gelesen 2817 mal)

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Datenbank per Agent signieren
« am: 17.11.06 - 08:49:50 »
Ein kleiner Codeschnipsel um eine DB zu signieren.

Wenn man diesen Code in einen Agenten packt und diesen Agenten signiert und nicht mehr anfasst und diesen Agenten dann über einen 2. Agenten per runOnServer aufruft, dann kann man auch mit einem User signieren, dessen Passwort / ID man nicht bekommt (Admin sei Dank).

Also die beiden Agenten vom Admin-User richtig signieren und dann nie wieder zum Admin rennen müssen

Vielleicht hilft der Code ja auch dem ein oder anderen geplagten Entwickler ;-)

Grüße David

Code

	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim nc As NotesNoteCollection
	Dim nid As String, nextid As String  'note IDs
	Dim i As Integer
	Dim doc As NotesDocument
	
  	REM Create note collection
	Set db = session.CurrentDatabase
	Set nc = db.CreateNoteCollection(True)
	nc.SelectDocuments = True
	Call nc.BuildCollection
	
 	REM Modify the collection - take out test documents
	nid = nc.GetFirstNoteId
	For i = 1 To nc.Count
    		'get the next note ID before removing any notes
		nextid = nc.GetNextNoteId(nid)
		Set doc = db.GetDocumentByID(nid)
		'Msgbox("<"+doc.Signer)
		Call doc.Sign()
		Call doc.Save(True,False,True)
		'Msgbox(">"+doc.Signer)
		nid = nextid
	Next

David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Glombi

  • Gast
Re: Datenbank per Agent signieren
« Antwort #1 am: 17.11.06 - 08:59:36 »
Das wäre ein Verstoss gegen das Sicherheitskonzept von Notes, falls es funktioniert!  :o

Aber wenn es geht - OK. Denn sowas brauche ich eigentlich.

Probiert hatte ich es mit
Call notesDatabase.Sign(...)
und einen RunOnServer Agent. Aber es geht nicht.

In der Hilfe steht dazu
This method executes only on a workstation.

Andreas

Glombi

  • Gast
Re: Datenbank per Agent signieren
« Antwort #2 am: 17.11.06 - 09:14:06 »
Wie erwartet geht es nicht. Im Log steht immer

17.11.2006 09:13:25   Agent printing: Agent Sign gestartet
17.11.2006 09:13:25   Agent 'Sign' error: You must have permission to sign documents for server based agents

Der Unterzeichner des Agents sowie der aufrufende User darf auf dem Domino Server alles.

Andreas

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Datenbank per Agent signieren
« Antwort #3 am: 01.12.06 - 10:10:32 »
Hm, bei mir geht das

was für eine Serverversion verwendest Du (7)?

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Datenbank per Agent signieren
« Antwort #4 am: 01.12.06 - 10:13:06 »
Argh - vermutlich hast Du Recht - in meiner Euphorie hab ich das nicht über den runOnServer aufgerufen sondern direkt - und keinen Unterschied gemerkt, weil ich auch AgentSigner war.

 :-[

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz