'Navigate to Page' permissions not set

Mar 12, 2015 at 2:21 PM
Hello, I installed Enhanced Permission Provider on a DNN 7.3.3 site. Now none of the registered users can navigate to the site pages. All site pages do not have 'Navigate to Page' permissions set by default, only 'View Page'.

How can I globally enable 'Navigate to Page' for all Roles that have 'View Page' permissions? Is there a reason this was not included in the SQLDataProvider? Some sites I would like to install this module have hundreds of pages in multiple languages.

BTW - is this module compatible with 7.x and 8.x DNN sites?

Thanks, Chris
Developer
Mar 12, 2015 at 2:30 PM
There are no DNN 8 versions yet - only Evoq 8 (to confuse users and DNN Corp employees).
Do not use this provider on Evoq, which comes with its own Granular Permission provider.
The caption can easily be restored by running
UPDATE {databaseOwner}{objectQualifier}Permission     
 SET [PermissionName] = 'Edit Tab'
 WHERE [PermissionCode] = 'SYSTEM_TAB' AND [PermissionKey] = 'EDIT'
this should not affect existing permission
Mar 12, 2015 at 2:45 PM
Hi Sebastian,

The rename is not my concern.

Here are the new Page Permission column headings:
Role View Page Navigate to Page Edit Content Add Page Copy Page Delete Page Import Export Manage Settings Set Permissions Actions

Roles that had 'View Page' permissions for specific pages, do not have 'Navigate to Page' permissions set after I installed the module. Therefore they cannot see the pages listed in the main menu, and if they have the URL then cannot see the page content. For example, a non registered user used to be able to see the home page, eCommerce and the login page. Now they cannot see any of these in the menu, and if they go to the URL they do not see any page content - only the skin with menu and footer.

I have added 'Navigate to Page' permissions to the Home page. I am working on the login page, so that I can further user testing.

For now, I will not update the eCommerce page - it does not show in the menu or has any page content for unregistered user.

http://devmatt.accordlms.com/eCommerce/Products.aspx
Mar 12, 2015 at 2:48 PM
I have added 'Navigate to Page' permissions to All Users to the Login page, however an Unregistered User still cannot see the Login module:
http://devmatt.accordlms.com/Login/tabid/88/Default.aspx
Mar 12, 2015 at 3:14 PM
You will need to user test Unregistered User from a different browser, since there in way to login once you have logged out. I will try adding the Login control to home page if needed.

BTW - I cleaned up some of my Enhanced Permissions discussion off of Jira so that someone else can follow the core issue.
Mar 12, 2015 at 4:15 PM
Edited Mar 12, 2015 at 5:24 PM
I found another strange bug. The Login module had 'Inherit View permissions from Page' enabled, which included 'View Module' for All Users. I removed this setting, then I manually set 'View Module'. Now the Login module appears to All Users. So I re-enabled Inherit View permissions from Page' and the module continued to present. Hmmm.

I still have the other problem / bug - the Navigate to Page permissions are still not set automatically during install, so even though you can access pages via a URL AND NOW you can see the modules on the pages, the pages are still not present in the menu. With Navigate to Page NOT set, the effect seems to be the same as the pages are hidden from the menu.

How can I globally enable 'Navigate to Page' for all Roles that have 'View Page' permissions? I think this should have been included in the SQLDataProvider.

Thanks,
Chris
Mar 14, 2015 at 3:14 PM
Hi,

When I try to access Admin > Security Roles, I now get the following error. The site was running fine until I installed the module. Fortunately it was a clone I made for evaluation purposes. I have not done a thorough user testing, so I don't know how many other problems there may be.

Error: Security Roles is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DesktopModules.Admin.Security.Roles.FormatFrequency(String frequency) at ASP.desktopmodules_admin_security_roles_ascx.__DataBinding__control16(Object sender, EventArgs e) at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows) at Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode) at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group) at Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls) at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) at Telerik.Web.UI.GridTableView.PerformSelect() at Telerik.Web.UI.GridTableView.DataBind() at DesktopModules.Admin.Security.Roles.BindGroups() at DesktopModules.Admin.Security.Roles.OnLoad(EventArgs e) --- End of inner exception stack trace ---