Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / FederatedMessageSecurityOverHttpElement.cs / 1 / FederatedMessageSecurityOverHttpElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Configuration; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.Globalization; using System.Net; using System.Net.Security; using System.ServiceModel; using System.ServiceModel.Security; using System.ServiceModel.Security.Tokens; using System.IdentityModel.Tokens; using System.ComponentModel; using System.Xml; public sealed partial class FederatedMessageSecurityOverHttpElement : ConfigurationElement { [ConfigurationProperty(ConfigurationStrings.AlgorithmSuite, DefaultValue = ConfigurationStrings.Default)] [TypeConverter(typeof(SecurityAlgorithmSuiteConverter))] public SecurityAlgorithmSuite AlgorithmSuite { get {return (SecurityAlgorithmSuite) base[ConfigurationStrings.AlgorithmSuite]; } set {base[ConfigurationStrings.AlgorithmSuite] = value; } } [ConfigurationProperty(ConfigurationStrings.ClaimTypeRequirements)] public ClaimTypeElementCollection ClaimTypeRequirements { get {return (ClaimTypeElementCollection) base[ConfigurationStrings.ClaimTypeRequirements]; } } [ConfigurationProperty(ConfigurationStrings.IssuedKeyType, DefaultValue = FederatedMessageSecurityOverHttp.DefaultIssuedKeyType)] [ServiceModelEnumValidator(typeof(System.IdentityModel.Tokens.SecurityKeyTypeHelper))] public SecurityKeyType IssuedKeyType { get {return (SecurityKeyType) base[ConfigurationStrings.IssuedKeyType]; } set {base[ConfigurationStrings.IssuedKeyType] = value; } } [ConfigurationProperty(ConfigurationStrings.IssuedTokenType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string IssuedTokenType { get {return (string) base[ConfigurationStrings.IssuedTokenType]; } set { if (String.IsNullOrEmpty(value)) { value = string.Empty; } base[ConfigurationStrings.IssuedTokenType] = value; } } [ConfigurationProperty(ConfigurationStrings.Issuer)] public IssuedTokenParametersEndpointAddressElement Issuer { get {return (IssuedTokenParametersEndpointAddressElement) base[ConfigurationStrings.Issuer]; } } [ConfigurationProperty(ConfigurationStrings.IssuerMetadata)] public EndpointAddressElementBase IssuerMetadata { get {return (EndpointAddressElementBase) base[ConfigurationStrings.IssuerMetadata]; } } [ConfigurationProperty(ConfigurationStrings.NegotiateServiceCredential, DefaultValue = MessageSecurityOverHttp.DefaultNegotiateServiceCredential)] public bool NegotiateServiceCredential { get {return (bool) base[ConfigurationStrings.NegotiateServiceCredential]; } set {base[ConfigurationStrings.NegotiateServiceCredential] = value; } } [ConfigurationProperty(ConfigurationStrings.TokenRequestParameters)] public XmlElementElementCollection TokenRequestParameters { get {return (XmlElementElementCollection) base[ConfigurationStrings.TokenRequestParameters]; } } internal void ApplyConfiguration(FederatedMessageSecurityOverHttp security) { if (security == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security"); } security.NegotiateServiceCredential = this.NegotiateServiceCredential; security.AlgorithmSuite = this.AlgorithmSuite; security.IssuedKeyType = this.IssuedKeyType; if (!string.IsNullOrEmpty(this.IssuedTokenType)) { security.IssuedTokenType = this.IssuedTokenType; } if (PropertyValueOrigin.Default != this.ElementInformation.Properties[ConfigurationStrings.Issuer].ValueOrigin) { security.IssuerAddress = ConfigLoader.LoadEndpointAddress(this.Issuer); if (!string.IsNullOrEmpty(this.Issuer.Binding)) { security.IssuerBinding = ConfigLoader.LookupBinding(this.Issuer.Binding, this.Issuer.BindingConfiguration, this.EvaluationContext); } } if (PropertyValueOrigin.Default != this.ElementInformation.Properties[ConfigurationStrings.IssuerMetadata].ValueOrigin) { security.IssuerMetadataAddress = ConfigLoader.LoadEndpointAddress(this.IssuerMetadata); } foreach (XmlElementElement xmlElement in this.TokenRequestParameters) { security.TokenRequestParameters.Add(xmlElement.XmlElement); } foreach (ClaimTypeElement claimType in this.ClaimTypeRequirements) { security.ClaimTypeRequirements.Add(new ClaimTypeRequirement(claimType.ClaimType, claimType.IsOptional)); } } internal void InitializeFrom(FederatedMessageSecurityOverHttp security) { if (security == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security"); } this.NegotiateServiceCredential = security.NegotiateServiceCredential; this.AlgorithmSuite = security.AlgorithmSuite; this.IssuedKeyType = security.IssuedKeyType; if (security.IssuedTokenType != null) { this.IssuedTokenType = security.IssuedTokenType; } if (security.IssuerAddress != null) { this.Issuer.InitializeFrom(security.IssuerAddress); } if (security.IssuerMetadataAddress != null) { this.IssuerMetadata.InitializeFrom(security.IssuerMetadataAddress); } string bindingType = null; if (security.IssuerBinding != null) { if (null == this.Issuer.Address) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigNullIssuerAddress))); } this.Issuer.BindingConfiguration = this.Issuer.Address.ToString(); BindingsSection.TryAdd(this.Issuer.BindingConfiguration, security.IssuerBinding, out bindingType); this.Issuer.Binding = bindingType; } foreach (XmlElement element in security.TokenRequestParameters) { this.TokenRequestParameters.Add(new XmlElementElement(element)); } foreach (ClaimTypeRequirement claimTypeRequirement in security.ClaimTypeRequirements) { ClaimTypeElement element = new ClaimTypeElement(claimTypeRequirement.ClaimType, claimTypeRequirement.IsOptional); this.ClaimTypeRequirements.Add(element); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Schema.cs
- TableCellCollection.cs
- MatrixValueSerializer.cs
- StorageModelBuildProvider.cs
- BindUriHelper.cs
- Content.cs
- ContextBase.cs
- XmlSchemaAttributeGroupRef.cs
- ContainsRowNumberChecker.cs
- XmlChildNodes.cs
- StringUtil.cs
- ThreadAbortException.cs
- BindableTemplateBuilder.cs
- DataMember.cs
- HandlerWithFactory.cs
- SqlDataSourceStatusEventArgs.cs
- BamlLocalizabilityResolver.cs
- QilInvoke.cs
- TextEffectResolver.cs
- MemberMemberBinding.cs
- ThousandthOfEmRealPoints.cs
- StylusPlugInCollection.cs
- WindowsImpersonationContext.cs
- Color.cs
- ToolStripSplitButton.cs
- SQLByte.cs
- HwndSourceKeyboardInputSite.cs
- QilList.cs
- ComplexTypeEmitter.cs
- DBBindings.cs
- COM2PropertyBuilderUITypeEditor.cs
- XmlReflectionMember.cs
- DbReferenceCollection.cs
- DynamicILGenerator.cs
- Relationship.cs
- FixedSOMLineRanges.cs
- ColumnPropertiesGroup.cs
- MobileTextWriter.cs
- CompilerGlobalScopeAttribute.cs
- Positioning.cs
- TextMetrics.cs
- AsymmetricSignatureFormatter.cs
- MessageDecoder.cs
- BrowserDefinitionCollection.cs
- HtmlLink.cs
- ImageAutomationPeer.cs
- ContainerControl.cs
- WebPartManager.cs
- KeyManager.cs
- ScriptRef.cs
- X509Certificate2Collection.cs
- TableProviderWrapper.cs
- FtpRequestCacheValidator.cs
- RadialGradientBrush.cs
- _WinHttpWebProxyDataBuilder.cs
- DirectoryInfo.cs
- ScaleTransform3D.cs
- DataGridViewCellStyle.cs
- documentation.cs
- SmiGettersStream.cs
- SiteMapDataSourceView.cs
- DataSourceBooleanViewSchemaConverter.cs
- SortDescriptionCollection.cs
- XmlStringTable.cs
- ContractCodeDomInfo.cs
- QueryResult.cs
- CacheMode.cs
- OpCellTreeNode.cs
- ConfigXmlCDataSection.cs
- Configuration.cs
- InputGestureCollection.cs
- TypeBuilder.cs
- AutomationProperty.cs
- MostlySingletonList.cs
- smtppermission.cs
- MobileErrorInfo.cs
- TrustManagerPromptUI.cs
- InputReferenceExpression.cs
- TokenizerHelper.cs
- HwndProxyElementProvider.cs
- FunctionQuery.cs
- IItemContainerGenerator.cs
- Policy.cs
- AuditLogLocation.cs
- StringCollectionEditor.cs
- OleDbStruct.cs
- JavaScriptString.cs
- StylusPointPropertyInfoDefaults.cs
- WebBrowsableAttribute.cs
- MetafileHeader.cs
- AspNetCompatibilityRequirementsMode.cs
- TraceLevelStore.cs
- RuntimeComponentFilter.cs
- WorkflowStateRollbackService.cs
- DataMisalignedException.cs
- Attribute.cs
- _SSPIWrapper.cs
- ProjectionQueryOptionExpression.cs
- QilNode.cs
- DataGridCommandEventArgs.cs