Exemple #1
0
        private static void modifyRoleAssignment(modelPortType modelPort, String userOid, bool isAdd, String[] roleOids)
        {
            ItemDeltaType assignmentDelta = new ItemDeltaType();

            if (isAdd)
            {
                assignmentDelta.modificationType = ModificationTypeType.add;
            }
            else
            {
                assignmentDelta.modificationType = ModificationTypeType.delete;
            }
            assignmentDelta.path = createItemPathType("assignment");
            List <object> assignments = new List <object>();

            foreach (String roleOid in roleOids)
            {
                assignments.Add(createRoleAssignment(roleOid));
            }
            assignmentDelta.value = assignments.ToArray();

            ObjectDeltaType objectDelta = new ObjectDeltaType();

            objectDelta.objectType = USER_TYPE;
            objectDelta.changeType = ChangeTypeType.modify;
            objectDelta.oid        = userOid;
            objectDelta.itemDelta  = new ItemDeltaType[] { assignmentDelta };

            executeChanges         request  = new executeChanges(new ObjectDeltaType[] { objectDelta }, null);
            executeChangesResponse response = modelPort.executeChanges(request);

            check(response);
        }
Exemple #2
0
 private static void check(executeChangesResponse response)
 {
     foreach (ObjectDeltaOperationType objectDeltaOperation in response.deltaOperationList)
     {
         if (!OperationResultStatusType.success.Equals(objectDeltaOperation.executionResult.status))
         {
             Console.WriteLine("*** Operation result = " + objectDeltaOperation.executionResult.status + ": "
                               + objectDeltaOperation.executionResult.message);
         }
     }
 }
Exemple #3
0
        private static void deleteUser(modelPortType modelPort, String oid)
        {
            ObjectDeltaType objectDelta = new ObjectDeltaType();

            objectDelta.objectType = USER_TYPE;
            objectDelta.changeType = ChangeTypeType.delete;
            objectDelta.oid        = oid;

            executeChanges         request  = new executeChanges(new ObjectDeltaType[] { objectDelta }, null);
            executeChangesResponse response = modelPort.executeChanges(request);

            check(response);
        }
Exemple #4
0
        private static String createUser(modelPortType modelPort, UserType userType)
        {
            ObjectDeltaType deltaType = new ObjectDeltaType();

            deltaType.objectType  = USER_TYPE;
            deltaType.changeType  = ChangeTypeType.add;
            deltaType.objectToAdd = userType;

            executeChanges         request  = new executeChanges(new ObjectDeltaType[] { deltaType }, null);
            executeChangesResponse response = modelPort.executeChanges(request);

            return(getOidFromDeltaOperationList(response.deltaOperationList, deltaType));
        }
Exemple #5
0
        private static void changeUserGivenName(modelPortType modelPort, String oid, String newValue)
        {
            ItemDeltaType itemDelta = new ItemDeltaType();

            itemDelta.modificationType = ModificationTypeType.replace;
            itemDelta.path             = createItemPathType("givenName");
            itemDelta.value            = new object[] { createPolyStringType(newValue) };

            ObjectDeltaType objectDelta = new ObjectDeltaType();

            objectDelta.objectType = USER_TYPE;
            objectDelta.changeType = ChangeTypeType.modify;
            objectDelta.oid        = oid;
            objectDelta.itemDelta  = new ItemDeltaType[] { itemDelta };

            executeChanges         request  = new executeChanges(new ObjectDeltaType[] { objectDelta }, null);
            executeChangesResponse response = modelPort.executeChanges(request);

            check(response);
        }
Exemple #6
0
        private static void changeUserPassword(modelPortType modelPort, String oid, String newPassword)
        {
            ItemDeltaType passwordDelta = new ItemDeltaType();

            passwordDelta.modificationType = ModificationTypeType.replace;
            passwordDelta.path             = createItemPathType("credentials/password/value");
            passwordDelta.value            = new object[] { createProtectedStringType(newPassword) };

            ObjectDeltaType deltaType = new ObjectDeltaType();

            deltaType.objectType = USER_TYPE;
            deltaType.changeType = ChangeTypeType.modify;
            deltaType.oid        = oid;
            deltaType.itemDelta  = new ItemDeltaType[] { passwordDelta };

            executeChanges         request  = new executeChanges(new ObjectDeltaType[] { deltaType }, null);
            executeChangesResponse response = modelPort.executeChanges(request);

            check(response);
        }
Exemple #7
0
 private static void check(executeChangesResponse response)
 {
     foreach (ObjectDeltaOperationType objectDeltaOperation in response.deltaOperationList) 
     {
         if (!OperationResultStatusType.success.Equals(objectDeltaOperation.executionResult.status)) 
         {
             Console.WriteLine("*** Operation result = " + objectDeltaOperation.executionResult.status + ": " 
                 + objectDeltaOperation.executionResult.message);
         }
     }
 }