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
- DocumentSequenceHighlightLayer.cs
- FontWeightConverter.cs
- CompilerErrorCollection.cs
- IdentityNotMappedException.cs
- ReadOnlyKeyedCollection.cs
- RectConverter.cs
- SvcMapFile.cs
- RenderData.cs
- ArgIterator.cs
- RegexWriter.cs
- XmlSchemaSubstitutionGroup.cs
- XmlIgnoreAttribute.cs
- CollectionBuilder.cs
- SqlProfileProvider.cs
- UIElement.cs
- BitmapEffectInputData.cs
- PropertyGridEditorPart.cs
- GenericAuthenticationEventArgs.cs
- ConfigXmlText.cs
- MembershipUser.cs
- FunctionParameter.cs
- ConditionBrowserDialog.cs
- CompositionTarget.cs
- IconBitmapDecoder.cs
- EnvelopedPkcs7.cs
- CompiledIdentityConstraint.cs
- EffectiveValueEntry.cs
- RegexParser.cs
- ObjectAnimationUsingKeyFrames.cs
- SharedPersonalizationStateInfo.cs
- AudioBase.cs
- XmlValidatingReader.cs
- EntityDataSourceContainerNameItem.cs
- EventLogLink.cs
- MarkupCompiler.cs
- _Semaphore.cs
- CollectionDataContractAttribute.cs
- SqlDataSourceCache.cs
- DeclaredTypeElement.cs
- DataColumnMapping.cs
- DocumentPageView.cs
- FilteredAttributeCollection.cs
- Animatable.cs
- ResourceAttributes.cs
- JsonByteArrayDataContract.cs
- HtmlWindowCollection.cs
- ExtractCollection.cs
- BufferedGraphicsManager.cs
- _Connection.cs
- DesigntimeLicenseContext.cs
- RuntimeResourceSet.cs
- FramingFormat.cs
- C14NUtil.cs
- Geometry.cs
- WasAdminWrapper.cs
- DbCommandTree.cs
- PolyLineSegment.cs
- DesignerSerializerAttribute.cs
- SimpleFieldTemplateUserControl.cs
- Attributes.cs
- SafeReversePInvokeHandle.cs
- GlyphRunDrawing.cs
- SendMailErrorEventArgs.cs
- CheckBoxFlatAdapter.cs
- _SSPIWrapper.cs
- TextEditorMouse.cs
- ListControl.cs
- CodeVariableDeclarationStatement.cs
- ProcessStartInfo.cs
- XmlFileEditor.cs
- TableLayoutSettingsTypeConverter.cs
- MailDefinition.cs
- QilValidationVisitor.cs
- BindingMemberInfo.cs
- BamlLocalizer.cs
- NativeObjectSecurity.cs
- __FastResourceComparer.cs
- NativeMethods.cs
- XmlChoiceIdentifierAttribute.cs
- ProcessInfo.cs
- BamlCollectionHolder.cs
- EdmFunction.cs
- MatrixIndependentAnimationStorage.cs
- DbConnectionPoolGroupProviderInfo.cs
- QuaternionAnimation.cs
- VirtualPathProvider.cs
- SelectorItemAutomationPeer.cs
- ReaderContextStackData.cs
- Synchronization.cs
- UniqueCodeIdentifierScope.cs
- ActivationServices.cs
- FormViewPagerRow.cs
- DelegateBodyWriter.cs
- PropertyChangedEventManager.cs
- COM2ColorConverter.cs
- DependencyPropertyConverter.cs
- Nodes.cs
- Int32KeyFrameCollection.cs
- BindingCompleteEventArgs.cs
- RowVisual.cs