了解"All Users"是否具有查看访问DotNetNuke中当前选项卡的最佳方法



我正在为DNN创建一个SEO助手模块。它基本上是在页面上添加一个注释到页面编辑器,以纠正页面上的某些项目,以帮助SEO。然而,我显然不需要/不想在谷歌和其他搜索引擎无法访问的内部页面上显示这些信息。

确定"所有用户"是否对当前选项卡具有视图访问权的最佳方法是什么?

下面是一行代码:

var allCanSee = TabPermissionController.GetTabPermissions(TabId, PortalId)
   .ToList().Any(pi => pi.RoleID == -1);

这将有助于

//get the TabPermission for the current tab and cast from Collection to List<TabPermissionInfo>
List<DotNetNuke.Security.Permissions.TabPermissionInfo> tabPermissionInfo = DotNetNuke.Security.Permissions.TabPermissionController.GetTabPermissions(TabId, PortalId).Cast<DotNetNuke.Security.Permissions.TabPermissionInfo>().ToList();
//loop all the permissionInfo objects and check for RoleId -1 (= all users)
bool allUsers = false;
foreach (TabPermissionInfo permissionInfo in tabPermissionInfo)
{
    if (permissionInfo.RoleID == -1)
    {
        allUsers = true;
    }
    //for visualization of all roles and id's for current tab
    Label1.Text += permissionInfo.RoleName + " - " + permissionInfo.RoleID + "<br>";
}

最新更新