如何通过SQL查询从Magento 2数据库获取完整用户权限列表
Magento 2 管理员用户权限列表SQL查询语句
以下是可直接从数据库检索所有管理员用户权限列表的SQL语句:
SELECT au.username AS 管理员账号, au.firstname AS 名, au.lastname AS 姓, ar.role_name AS 角色名称, ar.role_type AS 角色类型, arl.resource_id AS 权限资源ID, arl.permission AS 权限类型 FROM admin_user au LEFT JOIN admin_role ar ON au.user_id = ar.user_id LEFT JOIN authorization_rule arl ON ar.role_id = arl.role_id WHERE arl.resource_id IS NOT NULL ORDER BY au.username, ar.role_name, arl.resource_id;
语句说明:
- 通过
user_id关联admin_user(管理员用户表)与admin_role(用户角色表),再通过role_id关联authorization_rule(权限规则表),完整拉取用户-角色-权限的关联关系 role_type字段中,G代表全局角色组,U代表单独为该用户配置的权限resource_id是权限的唯一标识(例如Magento_Backend::all表示全权限),permission字段值为allow(允许)或deny(拒绝)- 若需筛选单个用户的权限,可在
WHERE子句后追加AND au.username = '目标管理员账号'
内容的提问来源于stack exchange,提问作者sandhya S
相关产品推荐
相关产品推荐

