4
我在我的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;
}
}
}
}
這看起來像它會工作。要測試它,然後將我的代碼添加到我的問題中,以便其他人可以看到我的方法。 – Mitchell 2012-07-30 14:44:58
我也會檢查'roleGroup.Roles!= null'。 – abatishchev 2012-07-30 15:28:36
'Roles'是一個屬性,如果後臺字段爲null,則自動初始化它。不應該存在這樣的情況,即屬性本身是「空」的。 – bdukes 2012-07-30 16:20:28