Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / ComIntegration / SecurityCookieModeValidator.cs / 1 / SecurityCookieModeValidator.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.ComIntegration { using System; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ServiceModel; using System.ServiceModel.Security.Tokens; class SecurityCookieModeValidator : IServiceBehavior { void CheckForCookie(SecurityTokenParameters tokenParameters, ServiceEndpoint endpoint) { bool cookie = false; SecureConversationSecurityTokenParameters sc = tokenParameters as SecureConversationSecurityTokenParameters; if (sc != null && sc.RequireCancellation == false) cookie = true; SspiSecurityTokenParameters sspi = tokenParameters as SspiSecurityTokenParameters; if (sspi != null && sspi.RequireCancellation == false) cookie = true; SspiSecurityTokenParameters ssl = tokenParameters as SspiSecurityTokenParameters; if (ssl != null && ssl.RequireCancellation == false) cookie = true; if (cookie) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.RequireNonCookieMode, endpoint.Binding.Name, endpoint.Binding.Namespace))); } void IServiceBehavior.AddBindingParameters(ServiceDescription description, ServiceHostBase serviceHostBase, Collectionendpoints, BindingParameterCollection parameters) { } void IServiceBehavior.Validate(ServiceDescription service, ServiceHostBase serviceHostBase) { } void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription service, ServiceHostBase serviceHostBase) { // The philosophy here is to respect settings obtained from the // service surrogate class' attributes, as written by the user, // while rejecting those that contradict our requirements. // We never want to silently overwrite a user's attributes. // So we either accept overrides or reject them. // // If you're changing this code, you'll probably also want to change // ComPlusServiceLoader.AddBehaviors foreach (ServiceEndpoint endpoint in service.Endpoints) { ICollection bindingElements = endpoint.Binding.CreateBindingElements(); foreach (BindingElement element in bindingElements) { SymmetricSecurityBindingElement sbe = (element as SymmetricSecurityBindingElement); if (sbe != null) { this.CheckForCookie(sbe.ProtectionTokenParameters, endpoint); foreach (SecurityTokenParameters p in sbe.EndpointSupportingTokenParameters.Endorsing) this.CheckForCookie(p, endpoint); break; } } } } } } // 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
- SpellerInterop.cs
- RegexParser.cs
- WebPartDisplayModeEventArgs.cs
- TableLayoutStyle.cs
- FuncCompletionCallbackWrapper.cs
- StringOutput.cs
- ObjectHelper.cs
- PartialTrustVisibleAssembly.cs
- Config.cs
- SchemaMapping.cs
- SignatureToken.cs
- RewritingValidator.cs
- IPGlobalProperties.cs
- ButtonPopupAdapter.cs
- activationcontext.cs
- CharUnicodeInfo.cs
- ExpressionVisitorHelpers.cs
- MobileControlDesigner.cs
- BulletChrome.cs
- PreviewPrintController.cs
- CryptoHelper.cs
- PrintingPermissionAttribute.cs
- AudioStateChangedEventArgs.cs
- Duration.cs
- ReferencedAssemblyResolver.cs
- ExtensionSimplifierMarkupObject.cs
- EventRouteFactory.cs
- TransactionException.cs
- SqlParameter.cs
- BCLDebug.cs
- ConfigurationStrings.cs
- ModulesEntry.cs
- DataSourceIDConverter.cs
- ContractSearchPattern.cs
- FileDataSourceCache.cs
- Size.cs
- XXXOnTypeBuilderInstantiation.cs
- CodeEntryPointMethod.cs
- UnsafeNativeMethods.cs
- InvokeProviderWrapper.cs
- WebServiceReceiveDesigner.cs
- SyncMethodInvoker.cs
- TransformerInfo.cs
- WebHttpBehavior.cs
- SimpleRecyclingCache.cs
- EndPoint.cs
- ExpressionNormalizer.cs
- StyleSelector.cs
- BoundColumn.cs
- RouteParameter.cs
- VectorCollectionConverter.cs
- _SSPIWrapper.cs
- ScrollItemPattern.cs
- BezierSegment.cs
- SelectionRangeConverter.cs
- DetailsViewInsertEventArgs.cs
- WpfWebRequestHelper.cs
- DispatcherExceptionFilterEventArgs.cs
- SafePipeHandle.cs
- ImpersonationContext.cs
- EventLogPropertySelector.cs
- DataServiceHostFactory.cs
- DataGridBeginningEditEventArgs.cs
- TextEffectResolver.cs
- DataObjectFieldAttribute.cs
- Metafile.cs
- FixedDSBuilder.cs
- RectKeyFrameCollection.cs
- InheritanceContextChangedEventManager.cs
- SystemIPGlobalProperties.cs
- TypeResolver.cs
- PeerHopCountAttribute.cs
- OLEDB_Util.cs
- QueryServiceConfigHandle.cs
- CheckBoxFlatAdapter.cs
- DigestTraceRecordHelper.cs
- FileDataSourceCache.cs
- SeekableReadStream.cs
- ComponentDesigner.cs
- SqlLiftWhereClauses.cs
- localization.cs
- ConfigUtil.cs
- AdvancedBindingPropertyDescriptor.cs
- GridViewUpdatedEventArgs.cs
- EncodingNLS.cs
- RequestCachePolicy.cs
- MaskedTextBoxDesignerActionList.cs
- ListViewHitTestInfo.cs
- SchemaImporterExtensionElementCollection.cs
- QuaternionAnimationBase.cs
- Int64Storage.cs
- ConnectionStringEditor.cs
- Vector3DAnimationBase.cs
- DetailsViewInsertEventArgs.cs
- Dump.cs
- BitmapEffectInput.cs
- DetailsViewDeleteEventArgs.cs
- PolicyStatement.cs
- DiscoveryExceptionDictionary.cs
- WebPartCloseVerb.cs