/// <summary> /// Constructor /// </summary> public IdentityServiceApplicationJobDefinition(IdentityServiceApplication serviceApplication, string name) : base(GenerateJobName(serviceApplication, name), serviceApplication.Service) { ArgumentValidator.IsNotNull(serviceApplication, "IdentityServiceApplication"); _serviceApplicationId = serviceApplication.Id; _defaultschedule = new SPMinuteSchedule(); _defaultschedule.Interval = 2; _defaultschedule.BeginSecond = 1; _defaultschedule.EndSecond = 59; this.Schedule = _defaultschedule; }
/// <summary> /// Select method implementation /// </summary> public static IEnumerable <GlobalParameterWrapper> Select(IdentityServiceApplication serviceapplication) { List <GlobalParameterWrapper> lst = new List <GlobalParameterWrapper>(); List <GlobalParameter> src = serviceapplication.GetGlobalParameterList().ToList <GlobalParameter>(); foreach (GlobalParameter glb in src) { lst.Add(new GlobalParameterWrapper(glb.CacheDuration, glb.ClaimsDisplayMode, glb.ClaimDisplayName, glb.ClaimIdentityMode, glb.ClaimIdentity, glb.ClaimProviderName, glb.ClaimRoleMode, glb.ClaimRole, glb.ClaimsMode, glb.PeoplePickerDisplayMode, glb.PeoplePickerImages, glb.SearchByDisplayName, glb.SearchByMail, glb.ShowSystemNodes, glb.SmoothRequestor, glb.TrustedLoginProviderName)); } return(lst); }
/// <summary> /// InternalProcessRecord method override /// </summary> protected override void InternalProcessRecord() { SPFarm farm = SPFarm.Local; if (null == farm) { ThrowTerminatingError(new InvalidOperationException("SharePoint server farm not found."), ErrorCategory.ResourceUnavailable, this); } AdministrationService service = farm.Services.GetValue <AdministrationService>(); if (null == service) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service not found."), ErrorCategory.ResourceUnavailable, this); } IdentityServiceApplication existingServiceApplication = service.Applications.GetValue <IdentityServiceApplication>(this.Name); if (null == existingServiceApplication) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service Application not found."), ErrorCategory.ResourceUnavailable, this); } if (this.ParameterSetName == AssemblyParameterSetName) { this.WriteObject(existingServiceApplication.GetAssemblyConfiguration()); } else if (this.ParameterSetName == ConfigurationParameterSetName) { this.WriteObject(existingServiceApplication.GetConnectionConfiguration(m_connection)); } else if (this.ParameterSetName == AllConfigurationParameterSetName) { this.WriteObject(existingServiceApplication.GetConnectionConfigurationList()); } else if (this.ParameterSetName == DomainParameterSetName) { this.WriteObject(existingServiceApplication.GetDomainConfiguration(m_domain)); } else if (this.ParameterSetName == AllDomainParameterSetName) { this.WriteObject(existingServiceApplication.GetDomainConfigurationList()); } else if (this.ParameterSetName == AllGlobalParameterSetName) { this.WriteObject(existingServiceApplication.FillGeneralParameters()); } else if (this.ParameterSetName == ReloadParameterSetName) { this.WriteObject(existingServiceApplication.Reload()); } else { throw new NotSupportedException("Parameter set not supported."); } }
/// <summary> /// Constructor /// </summary> public IdentityServiceApplicationReloadJobDefinition(IdentityServiceApplication serviceApplication, string name) : base(GenerateJobName(serviceApplication, name), serviceApplication.Service) { ArgumentValidator.IsNotNull(serviceApplication, "IdentityServiceApplication"); _serviceApplicationId = serviceApplication.Id; _defaultschedule = new SPDailySchedule(); _defaultschedule.BeginHour = 23; _defaultschedule.EndHour = 23; _defaultschedule.BeginMinute = 0; _defaultschedule.EndMinute = 5; _defaultschedule.BeginSecond = 1; _defaultschedule.EndSecond = 59; this.Schedule = _defaultschedule; }
/// <summary> /// Select method implementation /// </summary> public static IEnumerable <ConnectionConfigurationWrapper> Select(IdentityServiceApplication serviceapplication) { List <ConnectionConfigurationWrapper> lst = new List <ConnectionConfigurationWrapper>(); List <ConnectionConfiguration> src = serviceapplication.GetConnectionConfigurationList().ToList <ConnectionConfiguration>(); foreach (ConnectionConfiguration dom in src) { lst.Add(new ConnectionConfigurationWrapper(dom.ConnectionName, dom.Username, dom.Password, dom.Timeout, dom.Secure, dom.Maxrows, dom.ConnectString)); } if (lst.Count == 0) { lst.Add(new ConnectionConfigurationWrapper()); } return(lst); }
/// <summary> /// Select method implementation /// </summary> public static IEnumerable <DomainConfigurationWrapper> Select(IdentityServiceApplication serviceapplication) { List <DomainConfigurationWrapper> lst = new List <DomainConfigurationWrapper>(); List <DomainConfiguration> src = serviceapplication.GetDomainConfigurationList().ToList <DomainConfiguration>(); foreach (DomainConfiguration dom in src) { lst.Add(new DomainConfigurationWrapper(dom.DisplayName, dom.DnsName, dom.Connection, dom.Enabled, dom.DisplayPosition)); } if (lst.Count == 0) // For Showing Footer Row { lst.Add(new DomainConfigurationWrapper(string.Empty, string.Empty, string.Empty, false, -1)); } return(lst); }
/// <summary> /// Select method implementation /// </summary> public static IEnumerable <AssemblyConfigurationWrapper> Select(IdentityServiceApplication serviceapplication) { List <AssemblyConfigurationWrapper> lst = new List <AssemblyConfigurationWrapper>(); List <AssemblyConfiguration> src = serviceapplication.GetAssemblyConfigurationList().ToList <AssemblyConfiguration>(); foreach (AssemblyConfiguration ass in src) { lst.Add(new AssemblyConfigurationWrapper(ass.AssemblyFulldescription, ass.AssemblyTypeDescription, ass.Selected, ass.TraceResolve, ass.ClaimsExt)); } if (lst.Count == 0) { lst.Add(new AssemblyConfigurationWrapper()); } return(lst); }
/// <summary> /// CheckApplicationProxy metho implementation /// </summary> private bool CheckApplicationProxy(IdentityServiceApplication app, ServiceApplicationProxy prxy) { bool result = false; try { string path = app.IisVirtualDirectoryPath; string[] xpath = path.Split('\\'); result = (prxy.ServiceEndpointUri.ToString().ToLower().Contains(xpath[1])); } catch { result = false; } return(result); }
public async Task <IActionResult> Create(CreateApplicationViewModel model) { var application = new IdentityServiceApplication { Name = model.Name, ClientId = Guid.NewGuid().ToString() }; await _applicationManager.CreateAsync(application); await _applicationManager.AddScopeAsync(application, OpenIdConnectScope.OpenId); await _applicationManager.AddScopeAsync(application, "offline_access"); return(RedirectToAction(nameof(CreateScope), new { id = application.Id })); }
/// <summary> /// ExecuteOnProxy method implementation /// </summary> public void ExecuteOnProxy(bool clearcache) { try { SPFarm farm = SPFarm.Local; IdentityServiceProxy serviceProxy = farm.ServiceProxies.GetValue <IdentityServiceProxy>(); if (null != serviceProxy) { foreach (SPServiceApplicationProxy prxy in serviceProxy.ApplicationProxies) { if (prxy is ServiceApplicationProxy) { if (CheckApplicationProxy(ServiceApplication, prxy as ServiceApplicationProxy)) { if (clearcache) { foreach (SPServer srv in farm.Servers) { IdentityServiceApplication app = srv.ServiceInstances.GetValue <IdentityServiceApplication>(new Guid(this.GetID())); if ((app != null) && (app.Status == SPObjectStatus.Online)) { ((ServiceApplicationProxy)prxy).LaunchClearCacheCommand(srv.Name); // Only on one valid Server break; } } } else { foreach (SPServer srv in farm.Servers) { IdentityServiceApplication app = srv.ServiceInstances.GetValue <IdentityServiceApplication>(new Guid(this.GetID())); if ((app != null) && (app.Status == SPObjectStatus.Online)) { ((ServiceApplicationProxy)prxy).LaunchReloadCommand(srv.Name); // On Each Servers } } } } } } } } catch { // Do Nothing } }
/// <summary> /// InternalProcessRecord method override /// </summary> protected override void InternalProcessRecord() { SPFarm farm = SPFarm.Local; if (null == farm) { ThrowTerminatingError(new InvalidOperationException("SharePoint server farm not found."), ErrorCategory.ResourceUnavailable, this); } AdministrationService service = farm.Services.GetValue <AdministrationService>(); if (null == service) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service not found."), ErrorCategory.ResourceUnavailable, this); } IdentityServiceApplication existingServiceApplication = service.Applications.GetValue <IdentityServiceApplication>(this.Name); if (null == existingServiceApplication) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service Application not found."), ErrorCategory.ResourceUnavailable, this); } if (this.ParameterSetName == AssemblyParameterSetName) { if (existingServiceApplication.SetAssemblyConfiguration(this.AssemblyConfiguration, this.NewAssemblyConfiguration)) { this.WriteObject("Assembly defintion correctly updated !"); } } else if (this.ParameterSetName == ConfigurationParameterSetName) { if (existingServiceApplication.SetConnectionConfiguration(this.ConnectionConfiguration, this.NewConnectionConfiguration)) { this.WriteObject("Connection parameters defintion correctly updated !"); } } else if (this.ParameterSetName == DomainParameterSetName) { if (existingServiceApplication.SetDomainConfiguration(this.DomainConfiguration, this.NewDomainConfiguration)) { this.WriteObject("Domain Configuration defintion correctly updated !"); } } else { throw new NotSupportedException("Parameter set not supported."); } }
/// <summary> /// CreateApplication method override /// </summary> public SPServiceApplication CreateApplication(string name, Type serviceApplicationType, SPServiceProvisioningContext provisioningContext) { if (null == provisioningContext) { throw new ArgumentNullException("provisioningContext"); } if (serviceApplicationType != typeof(IdentityServiceApplication)) { throw new NotSupportedException(); } IdentityServiceApplication application = this.Farm.GetObject(name, this.Id, serviceApplicationType) as IdentityServiceApplication; if (null == application) { SPDatabaseParameters databaseParameters = SPDatabaseParameters.CreateParameters(name, SPDatabaseParameterOptions.None); databaseParameters.Validate(SPDatabaseValidation.CreateNew); application = IdentityServiceApplication.Create(name, this, provisioningContext.IisWebServiceApplicationPool, databaseParameters); } return(application); }
/// <summary> /// InternalProcessRecord method override /// </summary> protected override void InternalProcessRecord() { SPFarm farm = SPFarm.Local; if (null == farm) { ThrowTerminatingError(new InvalidOperationException("SharePoint server farm not found."), ErrorCategory.ResourceUnavailable, this); } AdministrationService service = farm.Services.GetValue <AdministrationService>(); if (null == service) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service not found."), ErrorCategory.ResourceUnavailable, this); } IdentityServiceApplication existingServiceApplication = service.Applications.GetValue <IdentityServiceApplication>(this.Name); if (null == existingServiceApplication) { ThrowTerminatingError(new InvalidOperationException("SharePoint Identity Service Application not found."), ErrorCategory.ResourceUnavailable, this); } this.WriteObject(existingServiceApplication.Reload()); }
/// <summary> /// GenerateJobName method implementation /// </summary> private static string GenerateJobName(IdentityServiceApplication app, string jobName) { ArgumentValidator.IsNotNull(app, "IdentityServiceApplication"); ArgumentValidator.IsNotEmpty(jobName, "JobName"); return(app.Name + "_" + jobName); }