查询以获取 DNN 中的用户角色
Query to get user roles in DNN
我需要查询以查看用户在 DotNetNuke 中拥有哪些角色。
我找到了这个查询,但它给出了 RoleID 而不是名称。
如果有多个角色关联到一个用户怎么办?
SELECT Users.FirstName, Users.LastName, Users.Email,UserRoles.RoleID
FROM UserRoles
INNER JOIN Users ON UserRoles.UserID = Users.UserID
如果一个用户有 2 个角色,它将为具有不同 RoleID 的同一用户带来 2 行。 n 行对应 n 个角色。
如果您需要角色名称,您需要在查询中包含 Roles
table。
SELECT Users.FirstName, Users.LastName, Users.Email, UserRoles.RoleID, Roles.RoleName
FROM UserRoles
INNER JOIN Users ON UserRoles.UserID = Users.UserID
INNER JOIN Roles ON UserRoles.RoleID = Roles.RoleID
WHERE (Roles.PortalID = 0)
您可能还想包含 PortalID 以避免与其他门户重复。但是我建议使用 DNN 核心功能来确定用户角色,使用 RoleController
.
我需要查询以查看用户在 DotNetNuke 中拥有哪些角色。 我找到了这个查询,但它给出了 RoleID 而不是名称。 如果有多个角色关联到一个用户怎么办?
SELECT Users.FirstName, Users.LastName, Users.Email,UserRoles.RoleID
FROM UserRoles
INNER JOIN Users ON UserRoles.UserID = Users.UserID
如果一个用户有 2 个角色,它将为具有不同 RoleID 的同一用户带来 2 行。 n 行对应 n 个角色。
如果您需要角色名称,您需要在查询中包含 Roles
table。
SELECT Users.FirstName, Users.LastName, Users.Email, UserRoles.RoleID, Roles.RoleName
FROM UserRoles
INNER JOIN Users ON UserRoles.UserID = Users.UserID
INNER JOIN Roles ON UserRoles.RoleID = Roles.RoleID
WHERE (Roles.PortalID = 0)
您可能还想包含 PortalID 以避免与其他门户重复。但是我建议使用 DNN 核心功能来确定用户角色,使用 RoleController
.