在DotNetNuke 7之前,可以使用以下方法获取用户所属角色的列表:
DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController();
foreach (Entities.Users.UserRoleInfo roleInfo in rc.GetUserRoles(portalID, userID))
{
string roleName = roleInfo.RoleName;
}
Run Code Online (Sandbox Code Playgroud)
但是,从DNN7开始,该GetUserRoles函数已被弃用.
这个功能还有什么选择?
我无法在任何地方找到任何信息,所以我浏览了API并发现了以下内容:
int portalID = PortalController.GetCurrentPortalSettings().PortalId;
DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController();
Entities.Users.UserInfo info = DotNetNuke.Entities.Users.UserController.GetUserById(portalID, userID);
foreach (string roleName in info.Roles)
{
Security.Roles.RoleInfo role = rc.GetRoleByName(portalID, roleName);
Entities.Users.UserRoleInfo roleInfo = rc.GetUserRole(portalID, userID, role.RoleID);
}
Run Code Online (Sandbox Code Playgroud)
这可以替代上面的代码,获取UserRoleInfo对象 - 如果是以圆形的方式!
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |