Hallo,
ich habe einen Workflow geschrieben, der die Rechte eines neu hochgeladenen Dokuments automatisch anpasst (mit http://www.codeplex.com/SPDActivities).
Leider funktioniert der Workflow nur, wenn ich mich mit dem Systemkonto angemeldet habe. Sobald ich mich mit einem User anmelde, können nur noch die Rechte des entsprechenden Users geändert werden. Es können keine Lese-/Schreiberechte an andere User gegeben werden.
Ich vermute, dass der Workflow mit dem User der gerade angemeldet ist ausgeführt wird?!
Gibt es eine Möglichkeit den Workflow so einzustellen, dass er immer mit dem Systemkonto-User oder einem anderen Admin-User ausgeführt wird?
Danke für Hilfe.
Gruß
Peter
Hallo Peter, einen Workflow kannst Du meines wissens nicht mit einem anderen Benutzer starten.
Die SPDActivities verwenden aber auch SPSecurity.RunWithElevatedPrivileges (=Ausführen als Systemkonto), so dass das nicht notwendig sein sollte.
Wenn Du selbst einen Workflow programmierst kannst Du das natürlich auch so machen. Du musst nur aufpassen, dass du dir neue Objekte innerhalb von SPSecurity.RunWithElevatedPrivileges anlegst, die dann höhere Rechte haben.
Benjamin
Ich würde dringend empfehlen die aktuellen ServicePacks einzuspielen. Normalerweise ist es nämlich so, daß der Systemuser eben keine Workflows triggered - das klappt nur mit "normalen" Usern. Und wie Benjamin schon sagte, die erwähnten Activities laufen eh unter dem Systemuser.
Also, da habe ich doch auch noch einmal ein Frage zu :)
Wie ist das nun - unter welchem Account werden die einzelnen Aktivitäten eines Workflows ausgeführt:
Konkrete hatte ich folgendes Prob: ich habe eine Dok-Lib, die mit Veröffentlichungen arbeitet. Ein Mitarbeiter A soll dort neue Inhalte erstellen, hat aber nicht das Recht um diese auch zu veröffentlichen. Nun soll Mitarbeiter B die Inhalte "freigeben" wodurch die Inhalte dann auch veröffentlicht werden.
Das ganze funktionierte nicht, denn offenbar wurde das Freigeben unter dem Account des Initiators versucht - das ganze funzte erst, also ich Mitarbeiter A auch Veröffentlichungsrechte gegeben habe. Das war aber ja eigentlich nicht die Idee, denn ich wollte vermeiden, dass Mitarbeiter A Inhalte ohne Genehmigung veröffentlichen kann.
Die Standardaktionen werden immer unter dem Account ausgeführt, der den Workflow gestartet hat - auch implizit durch z.B. Ändern eines Elements.
Bei selbstprogrammierten oder im Netz gefundenen Workflowaktionen kann das so geändert werden, daß die Aktion mit erhöhten Rechten des Application Pool ausgeführt wird.
Das ist ja doof - also für mein Szenario.
Das ich das mit einem Custom-Workflows ändern kann ist klar - aber dafür will ich ja keinen eigenen Workflow schreiben.