Skip to main content

Tool to copy security permissions in AX

Copying security roles, groups, user options and associating worker against user

The role based security works very well in AX 2012 and security development tool has also made the life of AX system administrator very charming. It was a nightmare to define security for each user in earlier versions of MS Dynamics AX. 

However, there is one area which security development tool does not cover and is often required in many occassions. That is "To Copy user roles from one user to another". Let's say we have created/imported a new user in AX and System Administrator requires to assign same role(s), existing users have, to this new added user. This requirement might come due to identical nature of work or responsibilities shared among different users. 

This tool will help you to copy users roles, users options, user groups, user's main accounts and user association with worker by creating new worker if not exists. User association with worker is required to perform different business processes in AX, one of them is purchase requisition approval.

You can download this tool from CodePlex: https://copysecuritypermissionsax.codeplex.com/

Please feel free to make suggestions and improvements.

Comments

  1. So today I got around to import this and give it a try. First of all thanks for the idea and the implementation. While the basic idea is sound, I have some suggestions and questions:
    - several labels are missing, though they do not seem to be part of the intended customizations (see below)
    - especially in method copyUserRoles some comments with reasoning of the code logic would have been helpful (e.g. why is the system user role removed from the target user before copying?)
    - transactions have only been included in some of the copy methods
    - why do you use the networkalias instead of the name of the user to determine a first and last name for the employee?
    - customizations on forms SysUserInfo and SysUserInfoDetail do not seem to be relevant to the intended customization?
    - maybe a button could be added on both forms to call the new copy function (which so far cannot be called anywhere in the gui, just from the AOT), using the selected user as source or target user
    - customizations in class SysListPanelSet_Roles also do not seem to be relevant to the intended customization
    - why are only the user options "filter by grid on by default", "status line info" and "default country region" copied? what about the other user options?
    - maybe use the SysOperation framework instead of the RunBaseBatch framework
    - since the batch framework is used, a new function e.g. copy from one user to all other users or all other users in a specific user group could be useful
    - improve progress reporting

    ReplyDelete
  2. hello!! Very interesting discussion glad that I came across such informative post. Keep up the good work friend. Glad to be part of your net community. Uniarch

    ReplyDelete

Post a Comment

I will appreciate your comments !

Popular posts from this blog

The Dual Write implementation - Part 1 - Understand and Setup

What is Dual-write? Tightly couples – complete at one transaction level Near real time Bi-directional Master data and business documents – Customer records you are creating and modifying and at this document we are talking about sales orders or quotes and invoice. Master data could be reference data e.g. customer groups and tax information Why Dual-write and why not Data Integrator? Data Integrator is Manual or Scheduled One directional Now, Let's deep dive and understand what is required for Dual-write setup and from where to start. First thing first, check you have access to https://make.powerapps.com/ Choose right environment of CDS (CE) Make sure you have access to the environment too, click on gear icon and Admin Center  Look for required environment and Open it, you must have access as going forward you are going to configure dual write steps in the environment user the same user you are logged in now. Now, go back to power platform admin center and...

D365FO: Entity cannot be deleted while dependent Entities for a processing group exist. Delete dependent Entities for a processing group and try again.

Scenario: There are times when you want to delete an entity from target entity list and when you do so, you face an error message which does not tell you where exactly the entity has been used.  "Entity cannot be deleted while dependent Entities for the processing group exist. Delete dependent Entities for a processing group and try again. " Solution: Browse the environment by appending this part  /?mi=SysTableBrowser&TableName=DMFDefinitionGroupEntity&cmp=USMF   at the end.  For example; if the environment URL is  https://daxture.sandbox.operations.dynamics.com then the complete URL will be https://daxture.sandbox.operations.dynamics.com/?mi=SysTableBrowser&TableName=DMFDefinitionGroupEntity&cmp=USMF Filter for Entity and it will give you the DefinitionGroup where the entity has been added or used in data management import/export projects. Get the DefinitionGroup name and search in the export/import projects under data management and either del...

Dual-write connection set error: An item with the same key has already been added

If you happen to see this error message then you have duplicate records in cdm_company entity in CDS environment. Check for cdm_companycode field this is normally not allowed but have a look and delete the ones with duplicates.