internal UserIdentityLookupService(Configuration configuration, AddinManagementService addinManagementService) { UserIdentityMappings userIdentityMappingsConfig = configuration.SessionGroup.UserIdentityMappings; MigrationSourcesElement migrationSourcesConfig = configuration.SessionGroup.MigrationSources; m_mappingAlgorithmPool = new UserIdMappingAlgorithmPool(configuration.SessionGroup.UserIdentityMappings, configuration.SessionGroup.Sessions.Session); m_lookupConfiguration = new UserIdLookupConfiguration(configuration.SessionGroup.UserIdentityMappings.EnableValidation, configuration.SessionGroup.MigrationSources); m_serviceIsConfigured = (userIdentityMappingsConfig.UserMappings.Count != 0 || userIdentityMappingsConfig.DisplayNameMappings.Count != 0 || userIdentityMappingsConfig.AliasMappings.Count != 0 || userIdentityMappingsConfig.DomainMappings.Count != 0 ); m_addinManagementService = addinManagementService; foreach (AddinElement addinElem in configuration.Addins.Addin) { Guid addinRefName = new Guid(addinElem.ReferenceName); IAddin addin = m_addinManagementService.GetAddin(addinRefName); if (null != addin) { var userLookupProvider = addin.GetService(typeof(IUserIdentityLookupServiceProvider)) as IUserIdentityLookupServiceProvider; if (null != userLookupProvider) { this.RegisterLookupServiceProvider(addin.ReferenceName, userLookupProvider); } } } }
private void Initialize( UserIdentityMappings userIdentityMappingsConfig, NotifyingCollection <Session> sessions) { m_userIdentityMappings = userIdentityMappingsConfig; m_sessions = sessions; // teyang_todo when no mapping is configured, default to: output = input ?? m_userMappingAlg = new UserMappingRuleEvaluator(userIdentityMappingsConfig.UserMappings); m_dispNameMappingAlg = new DisplayNameMappingRuleEvaluator(userIdentityMappingsConfig.DisplayNameMappings); m_aliasMappingAlg = new AliasMappingRuleEvaluator(userIdentityMappingsConfig.AliasMappings); m_domainMappingAlg = new DomainMappingRuleEvaluator(userIdentityMappingsConfig.DomainMappings); m_lookupContextManager = new IdentityLookupContextManager(sessions); }
/// <summary> /// Constructor /// </summary> /// <param name="userIdentityMappingsConfig"></param> public UserIdMappingAlgorithmPool( UserIdentityMappings userIdentityMappingsConfig, NotifyingCollection <Session> sessions) { m_baseMappingAlgorithm = new UserIdMappingAlgorithm(userIdentityMappingsConfig, sessions); }
/// <summary> /// Constructor. /// </summary> /// <param name="userIdentityMappingsConfig"></param> public UserIdMappingAlgorithm( UserIdentityMappings userIdentityMappingsConfig, NotifyingCollection <Session> sessions) { Initialize(userIdentityMappingsConfig, sessions); }