Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / WSDualHttpSecurity.cs / 1 / WSDualHttpSecurity.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Diagnostics; using System.Net.Security; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.ServiceModel.Configuration; public sealed class WSDualHttpSecurity { static readonly MessageSecurityVersion WSDualMessageSecurityVersion = MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; internal const WSDualHttpSecurityMode DefaultMode = WSDualHttpSecurityMode.Message; WSDualHttpSecurityMode mode; MessageSecurityOverHttp messageSecurity; internal WSDualHttpSecurity() : this(DefaultMode, new MessageSecurityOverHttp()) { } WSDualHttpSecurity(WSDualHttpSecurityMode mode, MessageSecurityOverHttp messageSecurity) { DiagnosticUtility.DebugAssert(WSDualHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid WSDualHttpSecurityMode value: {0}", mode.ToString())); this.mode = mode; this.messageSecurity = messageSecurity == null ? new MessageSecurityOverHttp() : messageSecurity; } public WSDualHttpSecurityMode Mode { get { return this.mode; } set { if (!WSDualHttpSecurityModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.mode = value; } } public MessageSecurityOverHttp Message { get { return this.messageSecurity; } } internal SecurityBindingElement CreateMessageSecurity() { if (this.mode == WSDualHttpSecurityMode.Message) { return this.messageSecurity.CreateSecurityBindingElement(false, true, WSDualMessageSecurityVersion); } else { return null; } } internal static bool TryCreate(SecurityBindingElement sbe, out WSDualHttpSecurity security) { security = null; if (sbe == null) security = new WSDualHttpSecurity(WSDualHttpSecurityMode.None, null); else { MessageSecurityOverHttp messageSecurity; if (!MessageSecurityOverHttp.TryCreate(sbe, false, true, out messageSecurity)) return false; security = new WSDualHttpSecurity(WSDualHttpSecurityMode.Message, messageSecurity); } // the last check: make sure that security binding element match the incoming security return SecurityElement.AreBindingsMatching(security.CreateMessageSecurity(), sbe); } } } // 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
- ConfigXmlSignificantWhitespace.cs
- OleDbInfoMessageEvent.cs
- DataRowChangeEvent.cs
- UseLicense.cs
- HttpApplicationFactory.cs
- WsiProfilesElementCollection.cs
- CatchDesigner.xaml.cs
- ListCollectionView.cs
- PresentationTraceSources.cs
- SAPIEngineTypes.cs
- TextCompositionEventArgs.cs
- BookmarkNameHelper.cs
- Message.cs
- SqlDataReader.cs
- OptimalBreakSession.cs
- MobileControlsSectionHelper.cs
- FeedUtils.cs
- DatatypeImplementation.cs
- HotSpotCollection.cs
- BoundColumn.cs
- X509Utils.cs
- SvcMapFileSerializer.cs
- DataSourceHelper.cs
- SoapHeader.cs
- HandledMouseEvent.cs
- XmlDataSource.cs
- StreamProxy.cs
- X509ChainElement.cs
- FontClient.cs
- PatternMatcher.cs
- ControlIdConverter.cs
- GeneralTransform3DCollection.cs
- keycontainerpermission.cs
- SparseMemoryStream.cs
- ColumnClickEvent.cs
- WebPartMenu.cs
- SapiRecoInterop.cs
- ParameterEditorUserControl.cs
- ConfigUtil.cs
- StackOverflowException.cs
- ElementNotAvailableException.cs
- ClientSession.cs
- LineBreak.cs
- ProjectedWrapper.cs
- TypedTableBaseExtensions.cs
- BasicCommandTreeVisitor.cs
- DetailsViewAutoFormat.cs
- DataBindingExpressionBuilder.cs
- HttpCacheVaryByContentEncodings.cs
- LinkedDataMemberFieldEditor.cs
- UnknownBitmapDecoder.cs
- SchemaEntity.cs
- XmlHierarchicalEnumerable.cs
- SymDocumentType.cs
- HttpVersion.cs
- LocalBuilder.cs
- HMACSHA384.cs
- PerformanceCounterPermissionEntryCollection.cs
- CompositionAdorner.cs
- HtmlGenericControl.cs
- HttpContext.cs
- AVElementHelper.cs
- ButtonBaseAdapter.cs
- RawAppCommandInputReport.cs
- FacetChecker.cs
- XmlDownloadManager.cs
- OutputCacheModule.cs
- SQLByteStorage.cs
- HttpApplicationFactory.cs
- PropertyValue.cs
- BypassElement.cs
- ModelItem.cs
- StylusSystemGestureEventArgs.cs
- XmlQueryType.cs
- DbConnectionPoolGroup.cs
- SqlDataSourceEnumerator.cs
- X509UI.cs
- SamlAudienceRestrictionCondition.cs
- PeerTransportElement.cs
- TreeSet.cs
- DBConnectionString.cs
- FixedSOMTableRow.cs
- PKCS1MaskGenerationMethod.cs
- IisTraceListener.cs
- DefaultBinder.cs
- RegexRunnerFactory.cs
- ImageFormatConverter.cs
- XpsS0ValidatingLoader.cs
- GridPatternIdentifiers.cs
- DrawingVisualDrawingContext.cs
- DecoderNLS.cs
- GeneralTransformGroup.cs
- UnsafeNativeMethods.cs
- Setter.cs
- FormsAuthenticationEventArgs.cs
- ETagAttribute.cs
- ForwardPositionQuery.cs
- XmlSiteMapProvider.cs
- PenLineCapValidation.cs
- WebBrowsableAttribute.cs