Frage

Welche Datenbanktabelle.Field hat die Karte node_access.gid, wenn sie die Datenbanktabelle verwendet? Ist es eine Rolle, repräsentiert es einen Workflow Sid (State ID) oder etwas anderes?

Beispiel:

+---------+------+-----------------+------------+--------------+--------------+
| nid     | gid  | realm           | grant_view | grant_update | grant_delete |
+---------+------+-----------------+------------+--------------+--------------+
| 1234561 |    4 | workflow_access |          1 |            1 |            1 |
| 1234562 |    5 | workflow_access |          1 |            1 |            1 |
| 1234563 |    6 | workflow_access |          1 |            1 |            1 |
| 1234564 |    7 | workflow_access |          1 |            0 |            0 |
+---------+------+-----------------+------------+--------------+--------------+

Bearbeiten: Nach der hervorragenden Antwort von @Berdir habe ich die folgende Abfrage geschrieben, um die Beziehung zwischen node_access.gid, Workflow_access.rid und rollen.rid zu analysieren:

# Establish relationship between workflow, roles, gids, etc.
SELECT 
    r.name AS role,
    r.rid AS w_role_rid,
    wa.rid AS and_workflow_access_rid,
    ws.state AS has_access_to_state,
    wa.sid AS with_state_sid,
    IF(ws.status=1,'YES','NO') AS which_is_enabled,
    wa.grant_view, wa.grant_update, wa.grant_delete
FROM workflow_access wa
    LEFT JOIN role r ON wa.rid = r.rid
    LEFT JOIN workflow_states ws ON wa.sid = ws.sid
ORDER BY r.rid, wa.sid

Wenn jemand mit meiner Anfrage eine Unklarheit bemerkt, kommentieren Sie dies bitte.

War es hilfreich?

Lösung

Mit Blick auf die Quelle (Die Funktion Workflow_access_node_access_records ()) scheint das Rid zu sein, was die Rollen -ID ist. Zusätzlich ist es auch in Workflow_access_node_grants () definiert, was die GIDs für einen bestimmten Benutzer zurückgibt. Und das sind die Rollen -IDs für 'Workflow_Access' und die Benutzer -ID für 'Workflow_access_Owner'.

Es gibt auch eine {Workflow_access} -Tabelle, die Informationen darüber enthält, welche Rolle für jeden Workflow -Zustand die Berechtigungen spielt. Basierend darauf werden die Zugriffszuschüsse für jeden Knoten erstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top