{"id":16,"date":"2010-02-05T16:30:23","date_gmt":"2010-02-05T16:30:23","guid":{"rendered":"http:\/\/localhost\/wordpress\/?p=16"},"modified":"2012-01-24T09:20:06","modified_gmt":"2012-01-24T09:20:06","slug":"user-access-manager-fur-benutzergruppen","status":"publish","type":"post","link":"https:\/\/blog.ecotronics.ch\/wordpress\/?p=16","title":{"rendered":"User Access Manager f\u00fcr Benutzergruppen"},"content":{"rendered":"<h2>Gesch\u00fctzter Zugriff in WordPress<\/h2>\n<p>WordPress kennt von Haus aus f\u00fcr den <strong>gesch\u00fctzten Zugriff Benutzer <\/strong>(User), <strong>Rollen <\/strong>(Roles) und <strong>Capabilities<\/strong>, leider aber noch keine Benutzergruppen.<\/p>\n<p>Man kann den<strong> einzelnen Benutzern Rollen zuweisen<\/strong> und damit deren Capabilities definieren, also die Berechtigungen f\u00fcr das Lesen, Schreiben und Verwalten von Beitr\u00e4gen etc.<\/p>\n<p>Es gibt die folgenden Rollen:<\/p>\n<ol>\n<li><strong>Administrator<\/strong> (administrator): darf alles, insbesondere auch alle Verwaltungsfunktionen wahrnehmen, z.B. Benutzer erfassen<\/li>\n<li><strong>Redakteur <\/strong>(editor):\u00a0 darf eigene und fremde Posts publizieren und verwalten<\/li>\n<li><strong>Author<\/strong> (author): darf eigene Posts publizieren und verwalten<\/li>\n<li><strong>Mitarbeiter <\/strong>(contributor): darf eigene Beitr\u00e4ge publizieren und verwalten, aber nicht publizieren<\/li>\n<li><strong>Abonnent <\/strong>(subscriber):\u00a0 Kann Beitr\u00e4ge und Kommentare lesen, sowie Kommentare erstellen, sofern dies der Artikel erlaubt.<\/li>\n<\/ol>\n<p>Diese Funktionalit\u00e4t deckt zwar einiges ab, aber f\u00fcr die <strong>Verwaltung von Projekt-Informationen<\/strong> f\u00fcr Kundenprojekte reicht sie nicht aus, denn dort m\u00f6chte man ganze Teile eines Web Sites nur ganz bestimmten Gruppen zug\u00e4nglich machen.<\/p>\n<h2>Das Plugin &#8220;User Access Manager&#8221;<\/h2>\n<p>Wenn in WordPress nicht alle Artikel \u00f6ffentlich sind, sondern bestimmte Kategorien oder Schlagw\u00f6rter nur f\u00fcr bestimmte Benutzergruppen bestimmt sind, dann empfiehlt sich das <strong>Plugin User Access Manager.<\/strong><\/p>\n<p>Herunterladen kann man das Plugin <a href=\"http:\/\/www.gm-alex.de\/projects\/wordpress\/plugins\/user-access-manager\/\" target=\"_blank\">hier<\/a>.<\/p>\n<p>Nach der Installation des Plugins erh\u00e4lt man im WordPress-Verwaltungsfenster unten links einen Block <strong>UAM<\/strong>, mit dem sich Gruppen erstellen und verwalten lassen. Ausserdem erscheint beim Erstellen von Artikeln rechts eine Box &#8220;Access&#8221; mit allen bisher vorhandenen Gruppen, so dass man nun einen Artikel nur bestimmten Gruppen anzeigen lassen kann.<\/p>\n<h2>UAM f\u00fcr Projekt-Information<\/h2>\n<p>Die bessere Option ist es allerdings, sich einen <strong>hierarchischen Baum von Kategorien<\/strong> aufzubauen und dann ganze Kategorien einer Gruppe zuzuweisen. Damit reicht es, <strong>einen Artikel einer Kategorie mit einer Benutzergruppe zuzuweisen<\/strong>, um ihn auf bestimmte Benutzer zu beschr\u00e4nken.<\/p>\n<p>Nun ist die Wirklichkeit nat\u00fcrlich ein Bisschen komplizierter. Kategorien sind ja nicht eindeutig. Was passiert also, wenn ich den Artikel einer gesch\u00fctzten und einer ungesch\u00fctzten Kategorie zuweise? Meine Versuche lassen darauf schliessen, dass UAM hier ein Betriebssystem reagiert, d.h. <strong>die restriktivere Regel gilt<\/strong> und der Artikel wird nur der Gruppe angezeigt.<\/p>\n<p><strong>Weiter einschr\u00e4nken kann ich die Rechte immer<\/strong>: Wenn ich einen Artikel zwar in einer gesch\u00fctzten Kategorie ablegen m\u00f6chte, aber nicht einmal die Gruppenmitglieder ihn sehen d\u00fcrfen, dann kann ich die Kategorie zuweisen, aber in Access die Gruppe wieder entfernen. Ein solcher Fall w\u00e4ren\u00a0 z.B. Informationen zu einem Projekt, welche zwar die Entwickler\/innen, nicht aber die Mitarbeiter\/innen des Kunden sehen sollen.<\/p>\n<p>Die Umkehrung dagegen scheint nicht m\u00f6glich zu sein: Wenn ich den Artikel mehreren Kategorien zuweise, von denen eine einzige eine Beschr\u00e4nkung aufweist, dann kann ich ihn nicht wieder f\u00fcr alle \u00f6ffnen. Auch ein Trick wie das Anlegen einer Gruppe &#8220;alle&#8221; mit allen Benutzern und das explizite Zuweisen eines Artikels zu dieser Gruppe klappt nicht.<\/p>\n<h2>UAM-Konfiguration f\u00fcr das Projektmanagement<\/h2>\n<p>Die folgenden Einstellungen sind n\u00fctzlich f\u00fcr ein Blog, das der Dokumentation und dem Management von Projekten dient<\/p>\n<h3>Nur erlaubte Beitr\u00e4ge auf Startseite<\/h3>\n<p>UAM &#8211; Einstellungen &#8211; Kompletten Post verstecken: Ja &#8211; Komplette Seiten verstecken: Ja<\/p>\n<h3>Achtung bei Gruppen und Rollen<\/h3>\n<p>Die <strong>UAM User Groups sollten m\u00f6glichst <span style=\"color: #ff0000;\">nicht<\/span> Rollen zugeteilt werden<\/strong>. Wird n\u00e4mlich einem User eine Rolle zugewiesen, dann wird er oder sie <strong>automatisch Mitglied aller Gruppen, welche diese Rolle<\/strong> haben! Diese Default-Mitgliedschaft l\u00e4sst sich auf der Profilseite nicht \u00e4ndern.<\/p>\n<p>Eine vern\u00fcnftige Konfiguration ist, dass man eine <strong>Gruppe &#8220;Alle&#8221;<\/strong> erstellt mit der <strong>Rolle &#8220;Subscriber&#8221; (Abonnent)<\/strong>, w\u00e4hrend <strong>alle anderen Gruppen keine Rolle<\/strong> aufweisen. Auf jeden Fall d\u00fcrfen<strong> Gruppen<\/strong>, die f\u00fcr die internen und externen Mitarbeiter den Zugriff auf <strong>projektspezifischen Informationen eines Kundenprojektes<\/strong> regeln, <strong>auf gar keinen Fall eine Rolle zugewiesen<\/strong> erhalten. Sonst ist diese kundenspezifische Information f\u00fcr alle User mit dieser Rolle frei zug\u00e4nglich!<\/p>\n<h2>Probleme bei Updates<\/h2>\n<p>Jedes Mal, wenn ich einen <strong>WordPress-Update <\/strong>mache, gibt es Probleme mit den UAM, die dazu f\u00fchren, dass <strong>gesperrte Seiten sichtbar<\/strong> sind (zum Gl\u00fcck ist mir das bis jetzt nur auf dem lokalen Test-Website passiert). Es scheint daran zu liegen, dass <strong>die UAM f\u00fcr Kategorien w\u00e4hrend des Updates verschwinden<\/strong>. Da mein Blog vor allem \u00fcber die Kategorien gesch\u00fctzt wird, ist das nat\u00fcrlich sehr h\u00e4sslich!<\/p>\n<h2>Fazit<\/h2>\n<p>Alles in allem ist UAM ein<strong> m\u00e4chtiges und f\u00fcr Projekt-Websites \u00e4usserst n\u00fctzliches Instrument<\/strong>. Aber wie bei einem Betriebssystem ist eine vorg\u00e4ngige Planung der Benutzergruppen und Zugriffsrechte ebenso notwendig wie eine disziplinierte Umsetzung. Die Gefahr ist weniger, dass man mit einem Fehlklick sensible Information ver\u00f6ffentlicht, als dass man Leute von Informationen ausschliesst.<\/p>\n<p>Ausserdem ist es unumg\u00e4nglich, <strong>sich mit dem Funktionieren dieses Plugins sehr gut vertraut zu machen<\/strong>, bevor man anf\u00e4ngt, sensible Informationen zu erfassen. Das Zusammenspiel von Usern, Gruppen, Rollen und Zugriffsrechten ist nicht immer intuitiv. Dies belegt zum Beispiel auch der Abschnitt &#8220;Achtung bei Gruppen und Rollen&#8221;. Leider l\u00e4sst die Dokumentation hier zu w\u00fcnschen \u00fcbrig, gewisse Regeln findet man nur durch <strong>eigene Experimente<\/strong>.<\/p>\n<p>Und im Moment habe ich auch zu wenig Erfahrung, um das Tool auf seine Verl\u00e4sslichkeit einzusch\u00e4tzen. Hochsensible Information w\u00fcrde ich sicher (noch) nicht mit diesem Tool absichern. Die Probleme mit den Updates sprechen im Moment ebenfalls dagegen, es sei denn, man kann damit leben, seine WordPress-Version nie mehr upzudaten!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gesch\u00fctzter Zugriff in WordPress <\/p>\n<p>WordPress kennt von Haus aus f\u00fcr den gesch\u00fctzten Zugriff Benutzer (User), Rollen (Roles) und Capabilities, leider aber noch keine Benutzergruppen.<\/p>\n<p>Man kann den einzelnen Benutzern Rollen zuweisen und damit deren Capabilities definieren, also die Berechtigungen f\u00fcr das Lesen, Schreiben und Verwalten von Beitr\u00e4gen etc.<\/p>\n<p>Es gibt die folgenden Rollen:<\/p>\n<p> Administrator (administrator): [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/16"}],"collection":[{"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":20,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions\/69"}],"wp:attachment":[{"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ecotronics.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}