找出是否“所有用户”的最好方法查看访问当前选项卡在DotNetNuke

本文关键字:访问 方法 DotNetNuke 选项 是否 用户 所有用户 | 更新日期: 2023-09-27 18:15:11

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

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

找出是否“所有用户”的最好方法查看访问当前选项卡在DotNetNuke

下面是一行代码:

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