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
- FragmentQuery.cs
- AppLevelCompilationSectionCache.cs
- InternalControlCollection.cs
- HwndSourceKeyboardInputSite.cs
- PasswordPropertyTextAttribute.cs
- BinHexDecoder.cs
- CDSCollectionETWBCLProvider.cs
- _KerberosClient.cs
- XmlDataSourceDesigner.cs
- Ref.cs
- FieldMetadata.cs
- XMLDiffLoader.cs
- GB18030Encoding.cs
- Single.cs
- PathSegment.cs
- CodeTypeReference.cs
- SerializationException.cs
- HyperLinkStyle.cs
- MetabaseSettingsIis7.cs
- CapiSafeHandles.cs
- Random.cs
- SectionXmlInfo.cs
- _OverlappedAsyncResult.cs
- DesignerAttribute.cs
- DataGridViewSelectedColumnCollection.cs
- IndexingContentUnit.cs
- QuadraticBezierSegment.cs
- assertwrapper.cs
- ReadWriteSpinLock.cs
- BaseCodePageEncoding.cs
- WebRequestModuleElementCollection.cs
- HttpListenerContext.cs
- AsyncDataRequest.cs
- PluralizationService.cs
- Icon.cs
- XmlCompatibilityReader.cs
- GridViewPageEventArgs.cs
- StandardBindingCollectionElement.cs
- DbDataAdapter.cs
- LambdaCompiler.Binary.cs
- DataGridViewRowEventArgs.cs
- DictionaryEditChange.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- SqlConnection.cs
- AxisAngleRotation3D.cs
- EntityParameterCollection.cs
- webeventbuffer.cs
- Attribute.cs
- SizeValueSerializer.cs
- TextElement.cs
- UserUseLicenseDictionaryLoader.cs
- TraceHandlerErrorFormatter.cs
- TypeUnloadedException.cs
- ExpandSegment.cs
- ExecutionContext.cs
- Int32KeyFrameCollection.cs
- QueryCacheManager.cs
- PrintDialog.cs
- InertiaTranslationBehavior.cs
- WCFModelStrings.Designer.cs
- FileUpload.cs
- SizeAnimationUsingKeyFrames.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- DBNull.cs
- UnsafePeerToPeerMethods.cs
- SoapReflectionImporter.cs
- ExpressionBinding.cs
- X509ChainPolicy.cs
- CursorConverter.cs
- InfiniteIntConverter.cs
- FragmentQueryProcessor.cs
- ProvidersHelper.cs
- BamlTreeNode.cs
- Int16Storage.cs
- ListControlBuilder.cs
- EventRouteFactory.cs
- Win32PrintDialog.cs
- ToolboxItemFilterAttribute.cs
- designeractionlistschangedeventargs.cs
- FixedNode.cs
- ModelFactory.cs
- SqlTypesSchemaImporter.cs
- TypeFieldSchema.cs
- EntityDataSourceDesignerHelper.cs
- AssemblyFilter.cs
- RegisteredScript.cs
- ControlEvent.cs
- SourceCollection.cs
- DesignerSerializerAttribute.cs
- CodeParameterDeclarationExpressionCollection.cs
- TransformerTypeCollection.cs
- PublishLicense.cs
- PtsCache.cs
- UTF8Encoding.cs
- smtpconnection.cs
- XmlText.cs
- PLINQETWProvider.cs
- ValueOfAction.cs
- TrackingMemoryStreamFactory.cs
- KnownIds.cs