Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Description / ServiceCredentials.cs / 1 / ServiceCredentials.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Description { using System.Collections.Generic; using System.Collections.ObjectModel; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.IdentityModel.Selectors; using System.Runtime.Serialization; using System.ServiceModel.Security; using System.Net; using System.Security.Principal; using System.ServiceModel.Security.Tokens; using System.Security.Cryptography.X509Certificates; using System.Web.Security; public class ServiceCredentials : SecurityCredentialsManager, IServiceBehavior { UserNamePasswordServiceCredential userName; X509CertificateInitiatorServiceCredential clientCertificate; X509CertificateRecipientServiceCredential serviceCertificate; WindowsServiceCredential windows; IssuedTokenServiceCredential issuedToken; PeerCredential peer; SecureConversationServiceCredential secureConversation; public ServiceCredentials() { this.userName = new UserNamePasswordServiceCredential(); this.clientCertificate = new X509CertificateInitiatorServiceCredential(); this.serviceCertificate = new X509CertificateRecipientServiceCredential(); this.windows = new WindowsServiceCredential(); this.issuedToken = new IssuedTokenServiceCredential(); this.peer = new PeerCredential(); this.secureConversation = new SecureConversationServiceCredential(); } protected ServiceCredentials(ServiceCredentials other) { if (other == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("other"); } this.userName = new UserNamePasswordServiceCredential(other.userName); this.clientCertificate = new X509CertificateInitiatorServiceCredential(other.clientCertificate); this.serviceCertificate = new X509CertificateRecipientServiceCredential(other.serviceCertificate); this.windows = new WindowsServiceCredential(other.windows); this.issuedToken = new IssuedTokenServiceCredential(other.issuedToken); this.peer = new PeerCredential(other.peer); this.secureConversation = new SecureConversationServiceCredential(other.secureConversation); } public UserNamePasswordServiceCredential UserNameAuthentication { get { return this.userName; } } public X509CertificateInitiatorServiceCredential ClientCertificate { get { return this.clientCertificate; } } public X509CertificateRecipientServiceCredential ServiceCertificate { get { return this.serviceCertificate; } } public WindowsServiceCredential WindowsAuthentication { get { return this.windows; } } public IssuedTokenServiceCredential IssuedTokenAuthentication { get { return this.issuedToken; } } public PeerCredential Peer { get { return this.peer; } } public SecureConversationServiceCredential SecureConversationAuthentication { get { return this.secureConversation; } } internal static ServiceCredentials CreateDefaultCredentials() { return new ServiceCredentials(); } public override SecurityTokenManager CreateSecurityTokenManager() { return new ServiceCredentialsSecurityTokenManager(this.Clone()); } protected virtual ServiceCredentials CloneCore() { return new ServiceCredentials(this); } public ServiceCredentials Clone() { ServiceCredentials result = CloneCore(); if (result == null || result.GetType() != this.GetType()) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException(SR.GetString(SR.CloneNotImplementedCorrectly, this.GetType(), (result != null)? result.ToString() : "null"))); } return result; } void IServiceBehavior.Validate(ServiceDescription description, ServiceHostBase serviceHostBase) { } void IServiceBehavior.AddBindingParameters(ServiceDescription description, ServiceHostBase serviceHostBase, Collectionendpoints, BindingParameterCollection parameters) { if (parameters == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("parameters"); } // throw if bindingParameters already has a SecurityCredentialsManager SecurityCredentialsManager otherCredentialsManager = parameters.Find (); if (otherCredentialsManager != null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.MultipleSecurityCredentialsManagersInServiceBindingParameters, otherCredentialsManager))); } parameters.Add(this); } void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription description, ServiceHostBase serviceHostBase) { } internal void MakeReadOnly() { this.ClientCertificate.MakeReadOnly(); this.IssuedTokenAuthentication.MakeReadOnly(); this.Peer.MakeReadOnly(); this.SecureConversationAuthentication.MakeReadOnly(); this.ServiceCertificate.MakeReadOnly(); this.UserNameAuthentication.MakeReadOnly(); this.WindowsAuthentication.MakeReadOnly(); } } } // 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
- SerialErrors.cs
- ProgressChangedEventArgs.cs
- CodePageUtils.cs
- xmlglyphRunInfo.cs
- ControlCachePolicy.cs
- SuspendDesigner.cs
- _ScatterGatherBuffers.cs
- WebConfigurationHost.cs
- ColumnHeaderConverter.cs
- CollectionViewGroupRoot.cs
- AsyncStreamReader.cs
- Pen.cs
- RequestTimeoutManager.cs
- SqlDependency.cs
- KeyGestureValueSerializer.cs
- SectionInformation.cs
- NameValuePermission.cs
- DbMetaDataFactory.cs
- WizardDesigner.cs
- SessionPageStateSection.cs
- UIElement.cs
- XPathAncestorIterator.cs
- LiteralTextContainerControlBuilder.cs
- ShapingEngine.cs
- EnumMemberAttribute.cs
- TextElementCollectionHelper.cs
- ScrollEvent.cs
- DataKey.cs
- ObjectAssociationEndMapping.cs
- ComboBoxAutomationPeer.cs
- Win32Exception.cs
- KeyboardNavigation.cs
- WebServiceEnumData.cs
- grammarelement.cs
- oledbmetadatacolumnnames.cs
- MultiSelectRootGridEntry.cs
- DBAsyncResult.cs
- DefaultExpressionVisitor.cs
- HttpChannelHelpers.cs
- MessageHeader.cs
- UriSection.cs
- ToolStripOverflow.cs
- Marshal.cs
- ExpressionPrefixAttribute.cs
- WebFormDesignerActionService.cs
- TrackBarDesigner.cs
- odbcmetadatafactory.cs
- AbandonedMutexException.cs
- CompiledQueryCacheKey.cs
- InfoCardAsymmetricCrypto.cs
- NavigationHelper.cs
- DigestTraceRecordHelper.cs
- RelationshipType.cs
- LoginCancelEventArgs.cs
- FileUtil.cs
- DragDeltaEventArgs.cs
- SafeBitVector32.cs
- HuffCodec.cs
- Stylesheet.cs
- BlurBitmapEffect.cs
- CellLabel.cs
- AncillaryOps.cs
- NonVisualControlAttribute.cs
- LinqDataSourceDisposeEventArgs.cs
- CodeMemberEvent.cs
- ButtonColumn.cs
- DateTimeFormatInfoScanner.cs
- HttpRawResponse.cs
- SrgsRule.cs
- CodeTypeReferenceCollection.cs
- BitmapCache.cs
- WindowsProgressbar.cs
- ReadOnlyAttribute.cs
- TypeListConverter.cs
- CompositeTypefaceMetrics.cs
- RichTextBoxAutomationPeer.cs
- DirtyTextRange.cs
- GraphicsPath.cs
- AppDomain.cs
- ScrollBarRenderer.cs
- _HeaderInfoTable.cs
- TransferMode.cs
- DataSourceControlBuilder.cs
- EntityRecordInfo.cs
- ActionFrame.cs
- AsyncOperationManager.cs
- DataViewSettingCollection.cs
- SafeFileHandle.cs
- Point3D.cs
- PrintController.cs
- MethodCallConverter.cs
- ReaderOutput.cs
- TypedElement.cs
- PerspectiveCamera.cs
- JoinTreeSlot.cs
- MultiTargetingUtil.cs
- HandoffBehavior.cs
- DataGridViewImageColumn.cs
- IdentifierService.cs
- DataGridParentRows.cs