Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / IdentityElement.cs / 1 / IdentityElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel; using System.Configuration; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Xml; public sealed partial class IdentityElement : ConfigurationElement { public IdentityElement() { } [ConfigurationProperty(ConfigurationStrings.UserPrincipalName)] public UserPrincipalNameElement UserPrincipalName { get { return (UserPrincipalNameElement)base[ConfigurationStrings.UserPrincipalName]; } } [ConfigurationProperty(ConfigurationStrings.ServicePrincipalName)] public ServicePrincipalNameElement ServicePrincipalName { get { return (ServicePrincipalNameElement)base[ConfigurationStrings.ServicePrincipalName]; } } [ConfigurationProperty(ConfigurationStrings.Dns)] public DnsElement Dns { get { return (DnsElement)base[ConfigurationStrings.Dns]; } } [ConfigurationProperty(ConfigurationStrings.Rsa)] public RsaElement Rsa { get { return (RsaElement)base[ConfigurationStrings.Rsa]; } } [ConfigurationProperty(ConfigurationStrings.Certificate)] public CertificateElement Certificate { get { return (CertificateElement)base[ConfigurationStrings.Certificate]; } } [ConfigurationProperty(ConfigurationStrings.CertificateReference)] public CertificateReferenceElement CertificateReference { get { return (CertificateReferenceElement)base[ConfigurationStrings.CertificateReference]; } } internal void Copy(IdentityElement source) { if (null == source) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("source"); } PropertyInformationCollection properties = source.ElementInformation.Properties; if (properties[ConfigurationStrings.UserPrincipalName].ValueOrigin != PropertyValueOrigin.Default) { this.UserPrincipalName.Value = source.UserPrincipalName.Value; } if (properties[ConfigurationStrings.ServicePrincipalName].ValueOrigin != PropertyValueOrigin.Default) { this.ServicePrincipalName.Value = source.ServicePrincipalName.Value; } if (properties[ConfigurationStrings.Certificate].ValueOrigin != PropertyValueOrigin.Default) { this.Certificate.EncodedValue = source.Certificate.EncodedValue; } if (properties[ConfigurationStrings.CertificateReference].ValueOrigin != PropertyValueOrigin.Default) { this.CertificateReference.StoreName = source.CertificateReference.StoreName; this.CertificateReference.StoreLocation = source.CertificateReference.StoreLocation; this.CertificateReference.X509FindType = source.CertificateReference.X509FindType; this.CertificateReference.FindValue = source.CertificateReference.FindValue; } } public void InitializeFrom(EndpointIdentity identity) { if (identity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("identity"); } Claim claim = identity.IdentityClaim; if (ClaimTypes.Dns.Equals(claim.ClaimType)) { this.Dns.Value = (string)claim.Resource; } else if (ClaimTypes.Spn.Equals(claim.ClaimType)) { this.ServicePrincipalName.Value = (string)claim.Resource; } else if (ClaimTypes.Upn.Equals(claim.ClaimType)) { this.UserPrincipalName.Value = (string)claim.Resource; } else if (ClaimTypes.Rsa.Equals(claim.ClaimType)) { this.Rsa.Value = ((RSA)claim.Resource).ToXmlString(false); } else if (identity is X509CertificateEndpointIdentity) { X509Certificate2Collection certs = ((X509CertificateEndpointIdentity)identity).Certificates; #pragma warning suppress 56506 //[....]; this.Certificate can never be null (underlying configuration system guarantees) this.Certificate.EncodedValue = Convert.ToBase64String(certs.Export(certs.Count == 1 ? X509ContentType.SerializedCert : X509ContentType.SerializedStore)); } } } } // 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
- Baml2006KeyRecord.cs
- NamespaceCollection.cs
- ParallelTimeline.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ProcessHostConfigUtils.cs
- GridViewColumn.cs
- CodeAttributeArgumentCollection.cs
- Int64AnimationUsingKeyFrames.cs
- JsonCollectionDataContract.cs
- AttachedPropertyBrowsableAttribute.cs
- XmlObjectSerializerContext.cs
- WindowsProgressbar.cs
- DataGridViewTextBoxColumn.cs
- XsltCompileContext.cs
- ControlCommandSet.cs
- SignatureDescription.cs
- SqlCommandSet.cs
- AddInBase.cs
- ScriptControlDescriptor.cs
- StringTraceRecord.cs
- ObjectStateFormatter.cs
- SizeIndependentAnimationStorage.cs
- Properties.cs
- TextLineBreak.cs
- PasswordPropertyTextAttribute.cs
- EmbeddedMailObjectsCollection.cs
- ClaimTypeRequirement.cs
- ConfigsHelper.cs
- SqlServices.cs
- Calendar.cs
- EventLogWatcher.cs
- DataAdapter.cs
- CfgParser.cs
- ActivityCodeDomSerializationManager.cs
- LZCodec.cs
- Pointer.cs
- TransformerTypeCollection.cs
- PathNode.cs
- CacheOutputQuery.cs
- Axis.cs
- DataServiceRequest.cs
- Int16Converter.cs
- ListenerAdapter.cs
- SmiRecordBuffer.cs
- MenuItemBindingCollection.cs
- HostingEnvironment.cs
- MemberMemberBinding.cs
- BehaviorDragDropEventArgs.cs
- HotCommands.cs
- SqlCacheDependencyDatabaseCollection.cs
- WindowsPrincipal.cs
- FixedSOMGroup.cs
- RelationshipConstraintValidator.cs
- SendActivityEventArgs.cs
- CheckoutException.cs
- PerformanceCounterPermissionEntry.cs
- AxHost.cs
- CryptoApi.cs
- GZipUtils.cs
- HtmlSelect.cs
- ElementNotEnabledException.cs
- DeclarativeCatalogPart.cs
- DataContractSerializerOperationFormatter.cs
- ContextStack.cs
- AttributeUsageAttribute.cs
- OracleParameterCollection.cs
- PageAdapter.cs
- InstanceCreationEditor.cs
- XmlDataImplementation.cs
- LogExtent.cs
- LinkedResource.cs
- DesignerActionUI.cs
- WCFBuildProvider.cs
- PaperSource.cs
- ButtonField.cs
- UserControlFileEditor.cs
- ObjectToken.cs
- TaskScheduler.cs
- FaultReasonText.cs
- EdmFunctions.cs
- CallTemplateAction.cs
- BinaryObjectWriter.cs
- ProviderMetadataCachedInformation.cs
- FixedDocumentPaginator.cs
- GenerateHelper.cs
- ValidatorCompatibilityHelper.cs
- DataBindingHandlerAttribute.cs
- WebBrowserBase.cs
- EntityDesignerUtils.cs
- TextSpan.cs
- DataGridViewRowCancelEventArgs.cs
- NavigationHelper.cs
- TranslateTransform3D.cs
- UrlMappingsSection.cs
- XmlElementAttributes.cs
- ComAdminInterfaces.cs
- Maps.cs
- OLEDB_Enum.cs
- CryptoStream.cs
- ArrayExtension.cs