How to copy roles from one user to another in Dynamics AX2012

Category: Stories Post Date: 19.02.2014

Today we would like to share How to copy roles from one user to another in Dynamics AX2012.

Code example:

#static void assignRolesFromUserToUser(Args _args)
#{
#    #define.fromUserId('Kudryavc')
#    #define.toUserId('ax12test')
#
#    SecurityRole            securityRole;
#    SecurityUserRole        securityUserRoleFrom,securityUserRoleTo;
#    ;
#    while select securityUserRoleFrom
#        where   securityUserRoleFrom.User               == #fromUserId
#            &&  securityUserRoleFrom.AssignmentStatus   == RoleAssignmentStatus::Enabled
#        join securityRole
#        where   securityRole.RecId                      == securityUserRoleFrom.SecurityRole
#    {
#        select securityUserRoleTo
#            where securityUserRoleTo.SecurityRole == securityUserRoleFrom.SecurityRole &&
#                securityUserRoleTo.User == #toUserId;
#
#        if (!securityUserRoleTo || securityUserRoleTo.AssignmentStatus != RoleAssignmentStatus::Enabled)
#        {
#            SysSecHelper::log('Adding ' + securityRole.Name);
#
#            securityUserRoleTo.User = #toUserId;
#            securityUserRoleTo.SecurityRole = securityRole.RecId;
#            securityUserRoleTo.AssignmentMode = RoleAssignmentMode::Manual;
#            securityUserRoleTo.AssignmentStatus = RoleAssignmentStatus::Enabled;
#
#            if (SecuritySegregationOfDuties::assignUserToRole(securityUserRoleTo, null) )
#            {
#                EePersonalDataAccessLogging::logUserRoleChange(securityRole.RecId,0, #toUserId, AddRemove::Add);
#            }
#            else
#            {
#                SysSecHelper::log('Skipping ' + securityRole.Name);
#            }
#        }
#        else
#        {
#            SysSecHelper::log('Skipping ' + securityRole.Name);
#        }
#    }
#
#}

Comments (2)

  • Ilya Biervliet Reply

    That worked like a charm!
    Do you also have a version that copies the assigned organizations? (OMUserRoleOrganization table).

    07.01.2020 at 11:44
  • Sagar U Reply

    Time saving job….helpful post.

    18.02.2020 at 07:22

Leave a Reply

Your email address will not be published. Required fields are marked *