//============================================================================================= Static API public static SecuritySystem StartSecurity(ISecurityDataProvider securityDataProvider, IMessageProvider messageProvider, IMissingEntityHandler missingEntityHandler, MessagingOptions messagingOptions) { var securityConfig = new SecurityConfiguration { SystemUserId = Identifiers.SystemUserId, VisitorUserId = Identifiers.VisitorUserId, EveryoneGroupId = Identifiers.EveryoneGroupId, OwnerGroupId = Identifiers.OwnersGroupId }; var securitySystem = new SecuritySystem(securityDataProvider, messageProvider, missingEntityHandler, securityConfig, messagingOptions); securitySystem.Start(); SnLog.WriteInformation("Security subsystem started in Search service", EventId.RepositoryLifecycle, properties: new Dictionary <string, object> { { "DataProvider", securityDataProvider.GetType().FullName }, { "MessageProvider", messageProvider.GetType().FullName } }); return(securitySystem); }