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
- WebSysDisplayNameAttribute.cs
- ComponentResourceKeyConverter.cs
- AesManaged.cs
- WindowsSolidBrush.cs
- ServicePointManagerElement.cs
- SettingsAttributeDictionary.cs
- CultureInfoConverter.cs
- TextRangeProviderWrapper.cs
- ApplicationDirectory.cs
- CounterSampleCalculator.cs
- Matrix3D.cs
- HtmlValidationSummaryAdapter.cs
- SqlBuilder.cs
- HttpWebResponse.cs
- SByte.cs
- Parser.cs
- MetadataArtifactLoaderCompositeFile.cs
- RefType.cs
- Stroke2.cs
- DataColumnMapping.cs
- XmlBinaryWriter.cs
- IdentityManager.cs
- DataBindingCollection.cs
- HitTestDrawingContextWalker.cs
- GridViewUpdateEventArgs.cs
- CopyAction.cs
- SQLStringStorage.cs
- PrimitiveDataContract.cs
- FamilyMap.cs
- WebPartMinimizeVerb.cs
- UpdatePanelControlTrigger.cs
- SubMenuStyleCollectionEditor.cs
- OutOfMemoryException.cs
- ObjectCloneHelper.cs
- State.cs
- ItemContainerGenerator.cs
- ServiceObjectContainer.cs
- PackagePartCollection.cs
- ManagementEventArgs.cs
- DelegatingMessage.cs
- TitleStyle.cs
- ExitEventArgs.cs
- JpegBitmapEncoder.cs
- TextRangeEdit.cs
- DispatcherProcessingDisabled.cs
- DataGridColumnCollection.cs
- HttpCacheParams.cs
- ModifyActivitiesPropertyDescriptor.cs
- StateMachineHelpers.cs
- xmlglyphRunInfo.cs
- WebResourceAttribute.cs
- InArgumentConverter.cs
- UnsafeNativeMethodsMilCoreApi.cs
- StylusLogic.cs
- LineMetrics.cs
- HexParser.cs
- AppDomainManager.cs
- XPathDocumentNavigator.cs
- UriSectionData.cs
- ImportContext.cs
- AQNBuilder.cs
- RemotingException.cs
- ProtocolElement.cs
- Tokenizer.cs
- SqlRowUpdatingEvent.cs
- ListDictionary.cs
- StylusPointProperty.cs
- RIPEMD160Managed.cs
- XappLauncher.cs
- sitestring.cs
- StylusPointDescription.cs
- SchemaConstraints.cs
- ExtenderControl.cs
- MenuItemBindingCollection.cs
- DataGridItemAutomationPeer.cs
- TextTreeDeleteContentUndoUnit.cs
- NameTable.cs
- FixedHighlight.cs
- DataServiceException.cs
- SchemaInfo.cs
- GenericsInstances.cs
- KeyGesture.cs
- ResourceCodeDomSerializer.cs
- TypeBrowserDialog.cs
- PrivilegedConfigurationManager.cs
- X509CertificateCollection.cs
- ColumnHeaderConverter.cs
- RecordsAffectedEventArgs.cs
- HttpDigestClientCredential.cs
- MouseGesture.cs
- XPathNavigatorReader.cs
- WindowsSecurityTokenAuthenticator.cs
- AncestorChangedEventArgs.cs
- ControlBuilderAttribute.cs
- Substitution.cs
- CallbackValidatorAttribute.cs
- Timer.cs
- Stopwatch.cs
- HtmlCalendarAdapter.cs
- EFTableProvider.cs