获取 DNN 中的所有用户角色
Get All User Roles in DNN
public DnnRole GetDnnRoleByName(int portalId, string dnnRoleName)
{
DnnRole role = null;
try
{
RoleController rc = new RoleController();
RoleInfo dnnRole = rc.GetRoleByName(portalId, dnnRoleName);
if (dnnRole != null)
{
role = new DnnRole();
role.Id = dnnRole.RoleID;
role.RoleName = dnnRole.RoleName;
role.Description = dnnRole.Description;
}
}
以上是我为多种用途获取角色的代码以及此 DNN 预定义方法。但是,当我尝试获取 All Users(DNN 默认角色)的角色 ID 时,出现错误。因为这个角色没有 portal Id。能否请您指点一下,有什么方法可以在不对角色 ID 进行硬编码的情况下获得它。
给你...
RoleController RoleController = new RoleController();
IList<RoleInfo> roleInfoArr = RoleController.GetRoles(PortalId);
foreach (RoleInfo roleInfo in roleInfoArr)
{
if (roleInfo.RoleName == "All Users")
{
Response.Write(roleInfo.RoleID);
}
}
但是每个 Portal 的 All Users
的 ID 总是 -1
。
对于 Superusers
是 -2
对于 Unauthenticated Users
是 -3
请注意 Administrator
roleId 每个门户不同
public DnnRole GetDnnRoleByName(int portalId, string dnnRoleName)
{
DnnRole role = null;
try
{
RoleController rc = new RoleController();
RoleInfo dnnRole = rc.GetRoleByName(portalId, dnnRoleName);
if (dnnRole != null)
{
role = new DnnRole();
role.Id = dnnRole.RoleID;
role.RoleName = dnnRole.RoleName;
role.Description = dnnRole.Description;
}
}
以上是我为多种用途获取角色的代码以及此 DNN 预定义方法。但是,当我尝试获取 All Users(DNN 默认角色)的角色 ID 时,出现错误。因为这个角色没有 portal Id。能否请您指点一下,有什么方法可以在不对角色 ID 进行硬编码的情况下获得它。
给你...
RoleController RoleController = new RoleController();
IList<RoleInfo> roleInfoArr = RoleController.GetRoles(PortalId);
foreach (RoleInfo roleInfo in roleInfoArr)
{
if (roleInfo.RoleName == "All Users")
{
Response.Write(roleInfo.RoleID);
}
}
但是每个 Portal 的 All Users
的 ID 总是 -1
。
对于 Superusers
是 -2
对于 Unauthenticated Users
是 -3
请注意 Administrator
roleId 每个门户不同