如果使用工作流,则node_access.gid映射到哪个数据库表。它代表角色,代表工作流SID(状态ID)还是其他?

例子:

+---------+------+-----------------+------------+--------------+--------------+
| 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 |
+---------+------+-----------------+------------+--------------+--------------+

编辑:在 @berdir的出色回应之后,我写了以下查询,以分析node_access.gid,workflow_access.rid和cool.rid:rid:rid:

# 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

如果有人注意到我的查询任何不一致,请评论。

有帮助吗?

解决方案

看着 资源 (函数workflow_access_node_access_records()),看起来是RID,是角色ID。此外,它还在WorkFlow_access_node_grants()中定义了它,该()为给定的用户返回GID。这就是“ WorkFlow_Access”和“ WorkFlow_Access_owner”的用户ID的角色ID。

还有一个{WorkFlow_Access}表,其中包含有关每个工作流状态哪些角色的信息。基于此,然后构建每个节点的访问赠款。

许可以下: CC-BY-SA归因
scroll top