SharePointCommunity
Die deutschsprachige SharePoint Community mit Infos zu SharePoint - speziell SharePoint 2010 und SharePoint 2007


Workflow immer mit Systemuser ausführen

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 5 Antworten | 3 Followers

Ohne Rang
8 Beiträge
einsteiger erstellt in 16 Mrz 2010 21:32

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

Alle Antworten

Top-50-Beitragsschreiber
Männlich
98 Beiträge

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.

 

Gruß

Benjamin

Top-10-Beitragsschreiber
Männlich
4.354 Beiträge

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.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
www.evocom.de
Top-50-Beitragsschreiber
Männlich
179 Beiträge

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:

  • unter dem Account, der den Workflow gestartet hat
  • unter dem System-Account
  • unter dem Account, der den aktuellen Workflow-Schritt bearbeitet (der kann sich rechte-mäßig von dem Initiator ja unterscheiden)

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.

Top-10-Beitragsschreiber
Männlich
4.354 Beiträge

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.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
www.evocom.de
Top-50-Beitragsschreiber
Männlich
179 Beiträge

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.

Seite 1 von 1 (6 Elemente) | RSS