Andrew Nguyen

Identity Portal 14.1 Improve user loading

Blog Post created by Andrew Nguyen Employee on Feb 6, 2018

Improve loading of users current permissions

Improves the Current access rights loading performance (when user has many Provisioning Roles for example).

After deploying this fix you will need to make these changes in the ‘Sigma – Current Access’ admin task in IDM:

  1. Open the task’s ‘Tabs’ tab and remove the ‘Provisioning Roles’ and ‘Provisioing Roles Indirect’ tabs from the list.
  2. Edit the task’s Profile tab screen, ‘Sigma User Profile’:

Add a new Screen Logical Attribute. Name it “|provRoles|" and check the ‘Multi-valued’ checkbox.

 

 

Add the following code to the screen’s "Initialization Javascript" section:


function init(ScreenContext){

importClass(Packages.java.util.HashSet);

importClass(Packages.com.netegrity.llsdk6.imsimpl.securityengine.ProvisioningSecurityEngine);

                var iamsession = null;

 

                var results = new java.util.HashSet();

                var user = ScreenContext.getUser();

 

                try {

                iamsession = ProvisioningSecurityEngine.getIAMSession(user);

                var iamdomain = iamsession.getRootDomain();

                var iamUser = iamdomain.getUser(ProvisioningSecurityEngine.getProvisioningFriendlyName(user));

                if (iamUser != null) {

               var roleHandleList = iamUser.property("roleHandles");

                                                var iter = roleHandleList.iterator();

                                                while (iter.hasNext()) {

                                                                var role = iter.next();

               results.add(role.getBaseName());

                                                }

               }

                } catch (e) {

                                ScreenContext.logErrorMessage("##################### Failed to get prov roles: " + e, false);

                } finally {

                    if (iamsession != null)

                        iamsession.close();

                }

 

var vector = new java.util.Vector();

vector.addAll(results);

ScreenContext.setFieldMultiValue("|provRoles|",vector);

}

 

 

  1. Save the changes and restart the connector in Identity Portal.

Outcomes