查明 "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);
我正在为 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);