Domino 9 und frühere Versionen > ND6: Entwicklung
Rechte eines Agenten ??
Jenson:
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
Driri:
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.
Jenson:
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
umi:
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
datenbanken24:
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
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln