private string CreateIMSUser(string userID, string firstName, string middleName, string lastName, DateTime expiryDate, string password) { PrincipalDTO principal = new PrincipalDTO(); principal.userID = userID; principal.firstName = firstName; principal.middleName = middleName; principal.lastName = lastName; principal.password = password; principal.enabled = true; principal.accountStartDate = DateTime.Now; principal.accountExpireDate = expiryDate; principal.canBeImpersonated = (false); principal.trustToImpersonate = (false); principal.securityDomainGuid = m_SecurityDomain.guid; principal.identitySourceGuid = m_IdentitySource.guid; //require user to change password at next login principal.passwordExpired = (true); AddPrincipalsCommand cmd = new AddPrincipalsCommand(); cmd.principals = (new PrincipalDTO[] { principal }); cmd.execute(); return(cmd.guids[0]); }
internal RSAAccount(PrincipalDTO principal, ListTokenDTO[] tokens) { m_Principal = principal; m_Tokens = tokens; }
public GetImportEntriesResults GetImportEntries(GetImportEntriesRunStep importRunStep) { try { GetImportEntriesResults importReturnInfo; List <CSEntryChange> csentries = new List <CSEntryChange>(); while (userToRead < rsaResult.Count && csentries.Count < m_importPageSize) { RSAAccount rsaAccount = rsaResult[userToRead]; PrincipalDTO principal = rsaAccount.Principal; firstName = principal.firstName; lastName = principal.lastName; middleName = principal.middleName; userID = principal.userID; managerEmailAddress = principal.email; identitySource = principal.identitySourceGuid; securityDomain = principal.securityDomainGuid; lockoutStatus = principal.lockoutStatus.ToString(); tokenSerialNumber = new List <string>(); tokenGuid = new List <string>(); foreach (ListTokenDTO token in rsaAccount.Tokens) { tokenSerialNumber.Add(token.serialNumber); tokenGuid.Add(token.guid); } CSEntryChange csentry1 = CSEntryChange.Create(); csentry1.ObjectModificationType = ObjectModificationType.Add; csentry1.ObjectType = "Person"; if (firstName != null) { csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("First Name", firstName)); } if (lastName != null) { csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Last Name", lastName)); } if (middleName != null) { csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Middle Name", middleName)); } csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("User ID", userID)); if (managerEmailAddress != null) { csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Manager Email Address", managerEmailAddress)); } csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Identity Source", identitySource)); csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Security Domain", securityDomain)); csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Lockout Status", lockoutStatus)); IList <object> serials = (IList <object>)tokenSerialNumber.Select(x => (object)x).ToList(); IList <object> guids = (IList <object>)tokenGuid.Select(x => (object)x).ToList(); csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Token Serial Number", serials)); csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Token GUID", guids)); csentries.Add(csentry1); userToRead++; } importReturnInfo = new GetImportEntriesResults(); importReturnInfo.MoreToImport = (userToRead < rsaResult.Count); importReturnInfo.CSEntries = csentries; return(importReturnInfo); } catch (Exception ex) { EmailError(ex); throw ex; } }