查明 "All Users" 是否具有对 DotNetNuke 中当前选项卡的视图访问权限的最佳方法

Best way to find out if "All Users" has view Access to current Tab in DotNetNuke

我正在为 DNN 创建一个 SEO 助手模块。它基本上在页面上向页面编辑器添加注释,以更正页面上的某些项目以帮助 SEO。但是,我显然不会 need/want 在 Google 和其他搜索引擎无法访问的内部页面上显示此信息。

确定 "All Users" 是否可以查看当前选项卡的最佳方法是什么?

这会有所帮助

//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>";
}

这里有一条线:

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