May 16, 2017

Dynamics NAV Page Level Permissions




In Dynamics NAV, defining page level permission is bit tricky. Because in standard All users have execute permission to all pages. So, how we assign page level permission for users?

First, let’s check the standard permission setup to understand what’s happening. In standard Dynamics NAV, assigning execute permission to all pages is done in the Permission Sets. There are standard Permission Sets created for us to use which makes the work easy for us. Within these Permission Sets, there is a Permission Set as BASIC. It is recommended to add this Permission Set to all users to have the basic permissions which needs to log in to the system.








Inside this BASIC Permission Set, it is given permission to execute all pages in the system.





So, if we assign this Permission Set to all users, they all get access to all pages.
If we want to give page level permission to users, we should remove this record from BASIC Permission Set and assign execute permission to all pages one by one. Assigning permission to all pages one by one is very difficult since we have more than 2000 pages in standard NAV. So, let’s do it in easy way.

Step 1

Open Dynamics NAV Development Environment. Then, select the Pages tab and select all page objects. After selecting all pages, we can copy selected object details.



Step 2

Open MS Excel. Here we can paste copied object details on a new excel sheet.




Now we need to delete ModifiedVersion ListDateTimeCompiledLocked and Locked By columns. In the Type column, replace value ‘8’ with ‘Page’ for all records. Now the excel sheet looks like following.












Now we have a list of all pages in the system. From this list, we can remove the pages that we don’t need to give permission for all users.

Step 3

Open Dynamics NAV client, go to Permission Sets. (You must be a SUPER user to assign or change permissions).

Select the ‘BASIC’ Permission Set.  Go to Permissions from the ribbon. Find the record that assign execute permission to all pages and remove the record.

Go back to Permission Sets, create a new Permission Set by giving a code & name like, BASIC-PAGES.

Open the excel sheet that we have created and copy all records.
In Dynamics NAV, Select the new permission set BASIC-PAGES and go to Permissions from the ribbon. Now we can paste the copied records to Permissions page.
Now we have:

            BASIC Permission Set – Does not have Permission to any page.
BASIC-PAGES Permission Set – Have execute permission to selected pages. This Permission set does not include pages, that we don’t need to give permission to all users.

When we assign BASIC Permission Set to a user we must assign BASIC-PAGES as well to the user. Then the user will have all basic permissions.

Step 4

We have a set of pages that we removed from BASIC-PAGES permission Set which needs to give access only to specific set of users.

Now we need to create new Permission Set. In that new Permission Set, we can include the specific pages and relevant tables.

After defining the Permission Set, we can assign the new Permission Set to relevant users.



Hope this is useful. Thanks.!

No comments:

Post a Comment