[Lotus Notes] Script uitvoeren onder ander ID

Pagina: 1
Acties:

  • Xanion
  • Registratie: Augustus 2001
  • Laatst online: 03-08 20:18
Ik zit met een lastig probleem in LN5 waar ik al van alles geprobeerd heb, maar nog geen oplossing voor gevonden heb. Het probleem is als volgt, in een applicatie heb ik een agent zitten welke de Outline van de applicatie aanpast. Aan het eind van deze agent wordt er dus een outline.save uitgevoerd. Om deze uit te kunnen voeren dien je designer-access te hebben. Degene die de agent opstarten hebben echter nooit een hogere access dan Editor. Zij kunnen dus in principe de agent niet opstarten. De agent wordt weliswaar gesigneerd met een ID die manager-access heeft, maar aangezien de agent handmatig wordt gestart wordt het script uitgevoerd met het accesslevel van diegene die het script start. (Editor dus).

Ik ben dus op zoek naar een mogelijkheid waarmee ik zelf die agent kan opstarten, maar dat deze dus uitgevoerd wordt onder de ID waarmee het gesigneerd is (manager-access).

Nu zul je zeggen, dit kan niet. Maar LN gebruikt het zelf ook in de mailfile. Bij LN5 heeft een gebruiker nl. slechts designer-access op een mailfile. In het delegation-profile kun je echter de ACL aanpassen, welke naderhand door Notes wordt weggesaved. Dit terwijl je voor het saven van de ACL manager-access nodig hebt. Notes gebruikt dus een speciale truc om die ACL onder een andere ID te saven dan die van de gebruiker. En ik kom er maar niet achter, welke... :( Iemand anders hier al eens mee gespeeld die tips en hints heeft voor mij waar ik op moet letten?

There are 10 types of people in the world: Those who understand binary, and those who don't. .


  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 21-08 17:18

Peetman

Tjah....

Het lijkt me niet dat dit kan. Dat zou namelijk het hele security mechanisme verzwakken.

Je zou wel een extern programma met de C/C++ api kunnen bouwen, dat gebruik maakt van een ander id.

En dat ACL verhaal in je mailfile begrijp ik niet helemaal, ik ben namelijk gewoon manager op mijn mailbox. En als ik een ander id designer toegang geef, kan ik daarmee niet de acl aanpassen.

  • Xanion
  • Registratie: Augustus 2001
  • Laatst online: 03-08 20:18
peetman schreef op 01 September 2003 @ 13:18:
Het lijkt me niet dat dit kan. Dat zou namelijk het hele security mechanisme verzwakken.

Je zou wel een extern programma met de C/C++ api kunnen bouwen, dat gebruik maakt van een ander id.

En dat ACL verhaal in je mailfile begrijp ik niet helemaal, ik ben namelijk gewoon manager op mijn mailbox. En als ik een ander id designer toegang geef, kan ik daarmee niet de acl aanpassen.
Dat ligt eraan hoe de Domino omgeving ingericht is. In een goed ingerichte LN5 inrichting heb je geen manager access op je maildatabase.

There are 10 types of people in the world: Those who understand binary, and those who don't. .


  • Divide.By.Zero
  • Registratie: Januari 2002
  • Laatst online: 06-02-2018
Je moet de agent in de 'background' laten werken.

Dit kan je bereiken door de agent op een event te starten zoals 'querysave'.
Ook scheduled agents werken bijvoorbeeld in de background.

Een background agent gebruikt de signer-id, waardoor de agent uitgevoerd wordt met de rechten van de signer-id.

Probeer dus een event te vinden waarmee je de agent in de background kan starten.

Succes!

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 21-08 17:18

Peetman

Tjah....

Xanion schreef op 01 September 2003 @ 14:44:
[...]
Dat ligt eraan hoe de Domino omgeving ingericht is. In een goed ingerichte LN5 inrichting heb je geen manager access op je maildatabase.
Klopt, wij hebben allemaal manager access op de eigen maildb, we zijn namelijk een Lotus Notes software development toko.

  • Xanion
  • Registratie: Augustus 2001
  • Laatst online: 03-08 20:18
peetman schreef op 01 September 2003 @ 15:48:
[...]

Klopt, wij hebben allemaal manager access op de eigen maildb, we zijn namelijk een Lotus Notes software development toko.
Dan moeten ze bij jullie ook antwoord hebben op mijn vraag... :)
Je zegt dat het niet kan, hoe kan het dan dat LN in de mailfile wel de ACL kan saven terwijl de eigenaar van die mailfile designer-access heeft en manager rechten hiervoor nodig zou hebben? En dat terwijl de agent die de ACL saved handmatig gestart wordt en dus de rechten zou moeten overnemen van de eigenaar (designer-access dus)

There are 10 types of people in the world: Those who understand binary, and those who don't. .


  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 21-08 17:18

Peetman

Tjah....

Het zou wel eens een smerige oplossing kunnen zijn binnen notes. Ze gebruiken wel meer ranzige oplossingen voor dingen als je onder water gaat kijken. Compacten van de Workspace bijvoorbeeld.

  • Glabbeek
  • Registratie: Februari 2001
  • Laatst online: 20-08 07:55

Glabbeek

Dat dus.

code:
1
2
3
4
5
6
7
8
9
Dim ndbCurrentDatabase As NotesDatabase
Dim nsSession As NotesSession
Dim nagAgentToRun As NotesAgent

Set nsSession = new NotesSession
Set ndbCurrentDatabase = nsSession.CurrentDatabase
Set nagAgentToRun = ndbCurrentDatabase.GetAgent("-naam van de agent-")

nagAgentToRun.RunOnServer


Dit zorgt ervoor dat je de agent op de server start, waarbij hij draait onder het signer-id.

En zo is het maar net.

Pagina: 1