小编Mit*_*ell的帖子

DNN检查用户是否在角色组中

我在我的DNN模块中添加了一项检查,以排除某些用户在登录时必须回答一些问题.我不想对每个角色进行硬编码,而只是排除特定角色组中的任何人.这样,如果我们将来有更多角色,我们可以将它们添加到角色组中,如果我们希望将它们排除在外.

但是,我不知道如何检查用户是否在角色组中.我知道如何检查角色,但不知道如果他们在一个角色中.

解决方案:这是我根据我得到的答案汇总的代码.应该管用.

RoleGroupInfo RoleGrp = RoleController.GetRoleGroupByName(this.PortalId, "Role Group");
bool bShouldSkipQuestions = false;
if (RoleGrp != null)
{
    Dictionary<string, RoleInfo> GroupChk = RoleGrp.Roles;
    if (GroupChk.Count > 0)
    {
        foreach (var item in GroupChk.Values)
        {
            if (_user.IsInRole(item.RoleName))
            {
                bShouldSkipQuestions = true;
                break;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# dotnetnuke roles

4
推荐指数
1
解决办法
6584
查看次数

标签 统计

c# ×1

dotnetnuke ×1

roles ×1