Nintex Workflow: Hinzufügen von Berechtigungen an Listen/Bibliotheken und Webseiten
Um Berechtigungen von Listen/Bibliotheken oder Webseite innerhalb eines Nintex Workflows hinzuzufügen, sind mehrere Schritte notwendig, da keine Standardactions von Nintex dazu mitgeliefert werden.
Das Vorgehen zum Hinzufügen von Benutzern und Gruppen an eine Liste wird exemplarisch beschrieben.
Berechtigungen auf Listen/Bibliotheken und Webseiten zu setzen ist, genau wie das Entfernen, nicht von Haus aus durch eine Nintex-Standard-Action möglich.
Im Folgenden wird das Vorgehen beim Setzen von Rechten am Beispiel einer Liste gezeigt. Dazu wird erneut der Standard-SharePoint Permissions.asmx WebService benötigt. Zusätzlich sind noch eine Build string sowie Call web service Action erforderlich.
Übersicht kompletter Workflow
Konfiguration Build string Action
Text | XML nach dem Schema: <Permissions> <Users> <User LoginName=”Domäne\Benutzer1″ PermissionMask=”138612833″ /> </Users> <Groups> <Group GroupName=”MeineGruppe1″ PermissionMask=”1027801615″ /> </Groups> </Permissions> |
Store result in | Variable (Typ: MultiLine) in der das XML für das setzten der Berechtigungen gespeichert werden soll |
In der Build string Action muss das XML erfasst werden, dass die zu vergebenden Berechtigungen enthält. Dabei wird nach Benutzern und Gruppen unterschieden. Das XML ist wie im Screenshot oben aufgebaut. Für jeden Benutzer bzw. Gruppe muss eine Zeile hinzugefügt werden, die den Login- bzw. Gruppennamen und die Berechtigung enthält.
Die Berechtigung wird anhand einer PermissionMask festgelegt. In einer PermissionMask sind die einzelnen Berechtigungen (z.B. Listen/Bibliotheken anpassen, Hinzufügen-, Ändern-, Löschen von Elementen, Versionen ansehen und löschen usw.) codiert. So sagt die PermissionMask 00000002 zum Beispiel, dass man das Recht hat Elemente hinzuzufügen.
Im Folgenden sind einige Standardberechtigungen incl. ihres Wertes aufgelistet:
Berechtigung (english) | Berechtigung (deutsch) | PermissionMask |
FullControl | Vollzugriff | -1 |
Contribute | Mitwirken | 1027801615 |
Edit | Bearbeiten | 134287360 |
Design | Entwerfen | 1012866047 |
View only | Nur anzeigen | 138612801 |
Read | Lesen | 138612833 |
Konfiguration Call web service Action
In der Call web service Action müssen nun nur noch die folgenden Parameter erfasst werden
Url | Hier muss die Url zum Permissions-WebService eingetragen werden. Diese lautet <WebUrl>/_vti_bin/Permissions.asmx – <WebUrl> ist die Nintex Eigenschaft |
Web method | AddPermissionCollection |
objectName (string) | Name der Liste bei der die Berechtigungen hinzugefügt werden sollen |
objectType (string) | List (falls Webseitenberechtigungen angepasst werden sollen: Web) |
permissionsInfoXml (xml) | Variable aus der vorherigen Build string Action, die die zu vergebenden Berechtigungen enthält. |
Workflow veröffentlichen und testen.