public static TModelNode AddTrustedAccessProvider <TModelNode>(this TModelNode model, TrustedAccessProviderDefinition definition, Action <TrustedAccessProviderModelNode> action) where TModelNode : ModelNode, IFarmModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddTrustedAccessProvider <TModelNode>(this TModelNode model, TrustedAccessProviderDefinition definition) where TModelNode : ModelNode, IFarmModelNode, new() { return(AddTrustedAccessProvider(model, definition, null)); }
protected virtual SPTrustedAccessProvider GetCurrentTrustedAccessProvider(SPFarm spFarm, TrustedAccessProviderDefinition definition) { SPTrustedAccessProvider result = null; var securityTokenService = SPSecurityTokenServiceManager.Local; result = securityTokenService.TrustedAccessProviders .FirstOrDefault(p => !string.IsNullOrEmpty(p.Name) && (p.Name.ToUpper() == definition.Name.ToUpper())); return(result); }
private void DeployAftifact(FarmModelHost modelHost, SPFarm spFarm, TrustedAccessProviderDefinition definition) { var currentObject = GetCurrentTrustedAccessProvider(spFarm, definition); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentObject, ObjectType = typeof(SPTrustedAccessProvider), ObjectDefinition = definition, ModelHost = modelHost }); if (currentObject == null) { var securityTokenService = SPSecurityTokenServiceManager.Local; if (securityTokenService == null) { throw new SPMeta2Exception("SPSecurityTokenServiceManager.Local is NULL"); } if (definition != null && definition.Certificate.Count() > 0) { var certificate = new X509Certificate2(definition.Certificate); currentObject = new SPTrustedAccessProvider(securityTokenService, definition.Name, definition.Description ?? string.Empty, certificate); } else { currentObject = new SPTrustedAccessProvider(securityTokenService, definition.Name, definition.Description ?? string.Empty); } } #if !NET35 if (!string.IsNullOrEmpty(definition.MetadataEndPoint)) { if (currentObject.MetadataEndPoint != null) { if (currentObject.MetadataEndPoint.AbsoluteUri.ToUpper() != new Uri(definition.MetadataEndPoint).AbsoluteUri.ToUpper()) { currentObject.MetadataEndPoint = new Uri(definition.MetadataEndPoint); } } else { currentObject.MetadataEndPoint = new Uri(definition.MetadataEndPoint); } } #endif if (definition != null && definition.Certificate.Count() > 0) { var certificate = new X509Certificate2(definition.Certificate); if (currentObject.SigningCertificate.Thumbprint != certificate.Thumbprint) { currentObject.SigningCertificate = certificate; } } InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentObject, ObjectType = typeof(SPTrustedAccessProvider), ObjectDefinition = definition, ModelHost = modelHost }); currentObject.Update(); }
protected virtual SPTrustedAccessProvider GetCurrentTrustedAccessProvider(object modelHost, TrustedAccessProviderDefinition definition) { var farmModelHost = modelHost.WithAssertAndCast <FarmModelHost>("modelHost", value => value.RequireNotNull()); return(GetCurrentTrustedAccessProvider(farmModelHost.HostFarm, definition)); }