Sitefinity 从数据库中检索所有用户和角色

Sitefinity Retrieve All User and Roles from Database

我知道我们可以使用 Sitefinity 的 UserManager class 检索用户列表,如 in this documentation 所述。但是,我迫切需要 使用普通 SQL 检索所有用户和角色的列表,到目前为止我没有成功 - 我的上级不想使用列出所有用户和角色的虚拟页面。我能找到的唯一关系是页面的所有权及其许可 - 最终取决于角色。但是我找不到从用户到角色的直接 link。

无论如何,我正在使用 Sitefinity 7.3,请提供一些见解..

像这样应该可以解决问题:

select user_name, r.nme as Role, *
from sf_users as u
join sf_user_link as ul
on u.id = ul.user_id
join sf_roles as r
on r.id = ul.role_id
order by u.user_name

今天我更喜欢这个查询。

SELECT u.[user_name],
    u.[passwd],
    u.[app_name],
    String_Agg(r.[nme], ',') WITHIN GROUP ( ORDER BY r.[nme] ASC)  as roles
FROM sf_users AS u
JOIN sf_user_link AS ul ON u.id = ul.user_id
JOIN sf_roles AS r ON r.id = ul.role_id
WHERE u.[is_backend_user] = 1
GROUP BY u.[user_name], u.[passwd], u.[app_name]
ORDER BY u.[user_name]