Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / WSFederationHttpSecurity.cs / 1 / WSFederationHttpSecurity.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; public sealed class WSFederationHttpSecurity { internal const WSFederationHttpSecurityMode DefaultMode = WSFederationHttpSecurityMode.Message; WSFederationHttpSecurityMode mode; FederatedMessageSecurityOverHttp messageSecurity; internal WSFederationHttpSecurity() : this(DefaultMode, new FederatedMessageSecurityOverHttp()) { } WSFederationHttpSecurity(WSFederationHttpSecurityMode mode, FederatedMessageSecurityOverHttp messageSecurity) { DiagnosticUtility.DebugAssert(WSFederationHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid WSFederationHttpSecurityMode value: {0}", mode.ToString())); this.mode = mode; this.messageSecurity = messageSecurity == null ? new FederatedMessageSecurityOverHttp() : messageSecurity; } public WSFederationHttpSecurityMode Mode { get { return this.mode; } set { if (!WSFederationHttpSecurityModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.mode = value; } } public FederatedMessageSecurityOverHttp Message { get { return this.messageSecurity; } } internal SecurityBindingElement CreateMessageSecurity(bool isReliableSessionEnabled, MessageSecurityVersion version) { if (this.mode == WSFederationHttpSecurityMode.Message || this.mode == WSFederationHttpSecurityMode.TransportWithMessageCredential) { return this.messageSecurity.CreateSecurityBindingElement(this.Mode == WSFederationHttpSecurityMode.TransportWithMessageCredential, isReliableSessionEnabled, version); } else { return null; } } internal static bool TryCreate(SecurityBindingElement sbe, WSFederationHttpSecurityMode mode, HttpTransportSecurity transportSecurity, bool isReliableSessionEnabled, MessageSecurityVersion version, out WSFederationHttpSecurity security) { security = null; FederatedMessageSecurityOverHttp messageSecurity = null; if (sbe == null) { mode = WSFederationHttpSecurityMode.None; } else { mode &= WSFederationHttpSecurityMode.Message | WSFederationHttpSecurityMode.TransportWithMessageCredential; DiagnosticUtility.DebugAssert(WSFederationHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid WSFederationHttpSecurityMode value: {0}", mode.ToString())); if (!FederatedMessageSecurityOverHttp.TryCreate(sbe, mode == WSFederationHttpSecurityMode.TransportWithMessageCredential, isReliableSessionEnabled, version, out messageSecurity)) return false; } security = new WSFederationHttpSecurity(mode, messageSecurity); return true; } } } // 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
- SQLInt16.cs
- TextInfo.cs
- DateTimeValueSerializerContext.cs
- TypeBuilder.cs
- DiagnosticSection.cs
- TableStyle.cs
- Propagator.Evaluator.cs
- StateMachineSubscription.cs
- ReferenceSchema.cs
- AsyncSerializedWorker.cs
- BoundColumn.cs
- InvokeGenerator.cs
- SerializationEventsCache.cs
- CanonicalFontFamilyReference.cs
- Authorization.cs
- PasswordPropertyTextAttribute.cs
- DiagnosticTraceSource.cs
- IList.cs
- TransformerInfoCollection.cs
- RectangleConverter.cs
- ToolStripDropDownClosedEventArgs.cs
- XmlDataImplementation.cs
- XmlNamespaceMapping.cs
- RepeaterItem.cs
- ZoneMembershipCondition.cs
- PipeStream.cs
- ProtocolReflector.cs
- StatusBarDrawItemEvent.cs
- AnyAllSearchOperator.cs
- WebEventTraceProvider.cs
- ExtentJoinTreeNode.cs
- FormatterConverter.cs
- wgx_commands.cs
- PublisherIdentityPermission.cs
- EdmComplexPropertyAttribute.cs
- BinaryMethodMessage.cs
- NaturalLanguageHyphenator.cs
- GenericEnumerator.cs
- ReadOnlyAttribute.cs
- DataSourceGroupCollection.cs
- DPCustomTypeDescriptor.cs
- TrackBarRenderer.cs
- InitializationEventAttribute.cs
- DataGridViewTextBoxColumn.cs
- RootBrowserWindow.cs
- ZeroOpNode.cs
- SystemNetworkInterface.cs
- _SingleItemRequestCache.cs
- _NegoStream.cs
- FixedDocumentPaginator.cs
- EditBehavior.cs
- HtmlSelectionListAdapter.cs
- DynamicILGenerator.cs
- RtfToXamlReader.cs
- MsmqHostedTransportManager.cs
- LinearGradientBrush.cs
- EntityTemplateFactory.cs
- HttpCapabilitiesSectionHandler.cs
- Triangle.cs
- SignedPkcs7.cs
- TraceContext.cs
- CssStyleCollection.cs
- SettingsAttributes.cs
- cryptoapiTransform.cs
- ContactManager.cs
- GeneratedContractType.cs
- OrderByQueryOptionExpression.cs
- StringFreezingAttribute.cs
- TcpTransportBindingElement.cs
- DataMemberAttribute.cs
- FontFamily.cs
- ContentElement.cs
- SlipBehavior.cs
- ButtonFieldBase.cs
- SchemaElementDecl.cs
- ItemDragEvent.cs
- MenuEventArgs.cs
- SslStream.cs
- ToolStripControlHost.cs
- WebResourceAttribute.cs
- SmiConnection.cs
- DbConnectionPoolGroup.cs
- TrustSection.cs
- MaskInputRejectedEventArgs.cs
- TagNameToTypeMapper.cs
- Context.cs
- Dictionary.cs
- IItemContainerGenerator.cs
- ClaimTypeElementCollection.cs
- PageTheme.cs
- EventLogPermissionAttribute.cs
- TargetParameterCountException.cs
- MemoryMappedViewStream.cs
- TypeDelegator.cs
- OracleInternalConnection.cs
- HttpDictionary.cs
- SplashScreenNativeMethods.cs
- TextContainer.cs
- CardSpacePolicyElement.cs
- ModelVisual3D.cs