2016-07-19 38 views
1

Ich hatte das vorher gelöst, indem ich Felder auf einem USER benutzte und Feldberechtigungsmodule benutzte, um "eigene" Felder zu steuern, aber ich möchte zu diesem Setup wechseln:Drupal 7: Feldberechtigungen basierend auf Rolle UND Beziehung/referenzierte Entität oder ähnliches

Knotentyp: "COMPANY"

zu COMPANY Hinzugefügt gibt eine Reihe von Feldern:

Feld 1-5: Rolle ADMINISTRATORS: view/update, Rollen REDAKTEURE: view

Feld 6- 10: Rolle ADMINISTRATORENREDAKTEURE 0 & Rolle: view/update

Feld 11-20: nur sollten bestimmte Benutzer VIEW/UPDATE, gewählt mit so etwas wie Beziehungen oder Entity Referenz

Feld 21-30: Wie 20.11, aber jetzt nur VIEW

Da dies 400 COMPANY Knoten und doppelt so viele Benutzer behandeln wird, brauche ich etwas automatisiert.

Ein echtes Plus, wenn diese Berechtigungen auch auf Ansichten und dergleichen übertragen werden könnten.

Ein Vorschlag wäre OG zu verwenden, aber das fühlt sich an wie in den Kaninchenbau hinunter ...

Irgendwelche Ideen wäre willkommen! :)

Antwort

0

Von Ihrer Erklärung, es gibt keine Notwendigkeit für Beziehungen/Entity Reference.

Ich würde 3 Rollen verwenden: Administratoren, Redakteure und "bestimmte Benutzer". Bestimmte Benutzer können nach Bedarf granulare Berechtigungen für die Felder 11-30 erhalten.

Wenn eine einzelne Rolle für bestimmte Benutzer zu allgemein ist, können Sie detailliertere Informationen verwenden, indem Sie mehrere Rollen für sie verwenden, bis hin zu der Stelle, an der eine Rolle nur eine einzige Person hat. Das macht es sehr einfach zu administrieren.

Das macht es möglich, nur das Modul Field Permissions zu verwenden, um zu definieren, welche Rollen Berechtigungen nach Feld auf Ihrem Inhaltstyp haben. Wenn Ihre Ansicht auf den Unternehmensinhaltstyp verweist, können sie, sofern sie in den Unternehmensknoten klicken können, die Registerkarte edit anzeigen, sofern die Berechtigungen dies zulassen.

Field Permissions

in OG oder andere Weise Hinzufügen des Umgangs mit dieser wird nur unnötig aufblähen auf der Website hinzuzufügen.

+0

Also, wenn wir Knoten 44 haben: APPLE LTD, und ich möchte nur Benutzer STEVEJOBS und Benutzer WOZ Feld 11-30, aber nicht Benutzer BILLGATES aktualisieren können - wie genau wird dies nur mit Feldberechtigungen getan? – mxr

+0

Vielleicht haben Sie mich missverstanden, ich war vielleicht unklar, aber unter 800-900 Benutzern möchte ich nur 2 bis 8 Benutzer in der Lage sein, Feld 11-30 zu bearbeiten, für jeden Knoten einige ca.. 400 Knoten. – mxr

+0

Verwenden Sie das obige Bild als Beispiel. Die Mehrheit der Benutzer kann in einer Rolle sein, die nur View erlaubt. Die 2-8 Benutzer können in einer Rolle sein, die das Anzeigen/Editieren von Feld 11-30 erlaubt. Die gleiche Rolle kann jedoch keine Berechtigung oder nur eine Ansichtsberechtigung für andere Felder haben. Das ist die Stärke dieses Moduls, die Sie mischen und anpassen können. – Paul