Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Jenson am 28.10.04 - 15:08:07

Titel: Rechte eines Agenten ??
Beitrag von: Jenson am 28.10.04 - 15:08:07
Hallo zusammen,

Welche rechte muss "Default" haben damit jeder Benutzer einen Agenten ausführen kann über das Web, der eine Datei erzeugt und diese dann in die Datenbank selber als Anhang einspielt?

Der Agent ist in Java geschrieben.
Ich selber kann ihn ausführen, da ich Admin bin, doch irgendwie bekomme ich das mit den Rechten für "normale" Benutzer nicht auf die Rolle. Allen Managerzugriff zu geben wäre ja sicherlich auch nicht das ware :-)

Jenson
Titel: Re: Rechte eines Agenten ??
Beitrag von: Driri am 28.10.04 - 15:42:20
Hallo,

versuch doch, den Agent so einzustellen, daß er als Server-Agent läuft. Der Server hat ja vermutlich Manager-Access und darf vermutlich auch uneingeschränkt Agents ausführen.

Du findest das in den Agent-Eigenschaften auf dem 2. Tab.
Titel: Re: Rechte eines Agenten ??
Beitrag von: Jenson am 28.10.04 - 16:15:45
Ich brauche aber unter JAVA den Wert

String EffUserName = agentContext.getEffectiveUserName();

also den CN des derzeit angemeldeten Users.... habe ich den dann mit den von Dir vorgeschlagenen Einstellungen auch verfügbar?


Jenson
Titel: Re: Rechte eines Agenten ??
Beitrag von: umi am 28.10.04 - 16:17:19
Damit dein Agent läuft sollte er auf "Allow Restricted Operations" sein im Agent selber.
Dann muss der Signer oder "Run on Behalf Of" im Serverdokument auch noch die Erlaubnishaben, unrestricted Operations auszuführen.

Wenn Du dann noch Run as Web User aktivierst, kommst du über die Session.getEffectiveUsername (oder JAVA String EffUserName = agentContext.getEffectiveUserName();
) sogar noch an den Benutzer, welcher den Agent übers web gestart hat....

gruss
umi
Titel: Re: Rechte eines Agenten ??
Beitrag von: datenbanken24 am 28.10.04 - 16:38:48
1. Der ACL-Eintrag "Default" wird im Web nicht ausgewertet - da kannst Du ändern was Du willst, das hat keine Auswirkung

- Das Pendant dazu im Web ist der Eintrag "Anonymous"

2. Für Deine Aktion (Agent) braucht der Benutzer Authoren- oder Editorrechte in der ACL - ABERRRR: der User muss im Serverdokument stehen, dass er "uneingeschränkte Agenten" ausführen darf (Datei-Operation auf der Platte zählen zu den uneingeschränkten Agenten...)

- Das willst Du sicher nicht wirklich, dass ein Anonymous dies darf...


3. Das passt nun auch gar nicht mit Deinem zweiten Eintrag - "ich brauche den CN-Namen des Anwenders"...

- denn wenn Du den CN-Namen haben möchtest - MUSS der User sich vorher einloggen - und damit ist er kein Anonymous mehr (und erst recht kein Default)

- solche Agenten unterueichnet man i.d.R. mit der Server- oder einer Admin-ID,
welche die oben genannten Rechte hat


4. Dann stößt Du natürlich auf das Problem, dass der EffectiveUsername nicht der User ist, sondern der Agentenunterzeichner

- mit Script/Java bekommst du den namen nicht raus

5. Hierfür kann man ein Feld "berechnet zur Anzeige" in die Notes-Maske einbauen, aus welchem dann der Agent den wirklichen Usernamen ausliest

- Dies geht leicht in WebQuerySaves / WebQueryOpen, bei einem Direkt-Aufruf bekommt man den auch irgendwie - ist mir aber gerade entfallen, machen wir dann, wenn Du 1-4 "abgearbeitest" hast
Titel: Re: Rechte eines Agenten ??
Beitrag von: Jenson am 28.10.04 - 17:00:24
Ok ... soweit habe ich das verstanden.... aber meine Benutzer im Web sind an dieser Stelle alle Authentifiziert an der Names. Also sollte dann doch der Eintrag "default" wieder greifen, oder?


Jenson
Titel: Re: Rechte eines Agenten ??
Beitrag von: datenbanken24 am 29.10.04 - 07:34:10
Ja - das stimmt natürlich,

wenn man authorisiert (eingeloggt) ist -
und überhaupt KEINEN Eintrag für sich in der ACL hat, genau dann wirkt auch im Web der "Default"-Eintrag.

So "bekommt man es auch manchmal hin", dass jemand NACH dem Einloggen (Default) weniger Rechte als vorher hat (Anonymous).
Titel: Re: Rechte eines Agenten ??
Beitrag von: Semeaphoros am 29.10.04 - 09:24:32
So ganz stimmt das nicht mit dem Default. Wenn kein Anonymous-Eintrag vorhanden ist, wird auch im Web der Default verwendet, dies nur der Vollständigkeit  halber.
Titel: Re: Rechte eines Agenten ??
Beitrag von: datenbanken24 am 29.10.04 - 12:58:32
@Semeaphoros:
Danke in die Schweiz !

Das hatte ich nicht gedacht,
aber man hat mich hier gerade auch noch mal davon überzeugt.
Titel: Re: Rechte eines Agenten ??
Beitrag von: Semeaphoros am 29.10.04 - 13:03:52
Bitte :-)

Das war damals, als die Web-Funktionen dazu kamen, ziemlich notwendig, denn den Anonymous hat es als "Systemnamen" bis dahin nicht gegeben. Und wenn man jetzt per Browser auf eine "alte" Datenbank zugegriffen hat, was sollte man da machen? Da war dann die Definition. wenn Anonymous nicht definiert ist, auf den Default zu gehen, ganz vernünftig.