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
- ThreadTrace.cs
- ExpandoObject.cs
- TextEffectCollection.cs
- OTFRasterizer.cs
- ParameterCollection.cs
- QilParameter.cs
- AttributeParameterInfo.cs
- DeviceContexts.cs
- GridViewRowCollection.cs
- SelectedCellsCollection.cs
- SHA384CryptoServiceProvider.cs
- ExternalDataExchangeService.cs
- DelegateHelpers.Generated.cs
- TemplateAction.cs
- UIPermission.cs
- SqlDataSourceCommandParser.cs
- BatchParser.cs
- OdbcReferenceCollection.cs
- BaseCollection.cs
- TreeViewCancelEvent.cs
- Italic.cs
- BitmapEffectvisualstate.cs
- DebugInfoExpression.cs
- COMException.cs
- Int32CollectionConverter.cs
- StateRuntime.cs
- SettingsPropertyValueCollection.cs
- XmlAnyElementAttribute.cs
- ComponentResourceManager.cs
- RequestCache.cs
- MissingMemberException.cs
- DrawingGroup.cs
- GlobalProxySelection.cs
- AnonymousIdentificationSection.cs
- NativeMethodsCLR.cs
- ToolStripItemClickedEventArgs.cs
- UpdatableWrapper.cs
- Logging.cs
- _LocalDataStore.cs
- FixedPage.cs
- RoleGroup.cs
- FixedHighlight.cs
- PageAsyncTaskManager.cs
- TransportChannelFactory.cs
- CodeBlockBuilder.cs
- TemplateApplicationHelper.cs
- HttpRequestCacheValidator.cs
- cookiecollection.cs
- OdbcError.cs
- X509SecurityToken.cs
- TargetParameterCountException.cs
- XPathNode.cs
- MetadataArtifactLoader.cs
- WebPartManager.cs
- EntityContainerEntitySet.cs
- DataGridViewSelectedCellCollection.cs
- Wildcard.cs
- RuntimeConfigLKG.cs
- SelectionPatternIdentifiers.cs
- EventLogger.cs
- VisualState.cs
- PointAnimationBase.cs
- ListSortDescriptionCollection.cs
- Completion.cs
- Compiler.cs
- SchemaAttDef.cs
- Control.cs
- StateRuntime.cs
- TextParaClient.cs
- HttpConfigurationContext.cs
- AudioStateChangedEventArgs.cs
- PagedDataSource.cs
- Misc.cs
- TargetControlTypeAttribute.cs
- DataRowComparer.cs
- DataGridItemCollection.cs
- LinkedList.cs
- Rijndael.cs
- TemplatePartAttribute.cs
- StringAnimationUsingKeyFrames.cs
- SoapClientMessage.cs
- ParameterElementCollection.cs
- BitmapPalettes.cs
- Geometry3D.cs
- QueryRelOp.cs
- TemplatePropertyEntry.cs
- CultureInfoConverter.cs
- MatrixUtil.cs
- ResXFileRef.cs
- TextElementEditingBehaviorAttribute.cs
- ToolStripPanelRow.cs
- XmlQueryStaticData.cs
- WarningException.cs
- SecurityTokenSpecification.cs
- GradientStopCollection.cs
- PropertyTabChangedEvent.cs
- XamlStackWriter.cs
- LayoutEngine.cs
- PlanCompiler.cs
- ResourceContainerWrapper.cs