Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / SecurityElement.cs / 1 / SecurityElement.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System.ComponentModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.Configuration;
using System.Globalization;
using System.Net.Security;
using System.ServiceModel.Security;
using System.ServiceModel.Security.Tokens;
using System.Runtime.Remoting.Messaging;
using System.Xml;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.IO;
public sealed partial class SecurityElement : SecurityElementBase
{
public SecurityElement()
{
}
[ConfigurationProperty(ConfigurationStrings.SecureConversationBootstrap)]
public SecurityElementBase SecureConversationBootstrap
{
get { return (SecurityElementBase)base[ConfigurationStrings.SecureConversationBootstrap]; }
}
public override void CopyFrom(ServiceModelExtensionElement from)
{
base.CopyFrom(from);
SecurityElement source = (SecurityElement)from;
#pragma warning suppress 56506 //[....]; base.CopyFrom() checks for 'from' being null
if (PropertyValueOrigin.Default != source.ElementInformation.Properties[ConfigurationStrings.SecureConversationBootstrap].ValueOrigin)
this.SecureConversationBootstrap.CopyFrom(source.SecureConversationBootstrap);
}
protected internal override BindingElement CreateBindingElement(bool createTemplateOnly)
{
SecurityBindingElement result;
if (this.AuthenticationMode == AuthenticationMode.SecureConversation)
{
if (this.SecureConversationBootstrap == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SecureConversationNeedsBootstrapSecurity)));
if (this.SecureConversationBootstrap.AuthenticationMode == AuthenticationMode.SecureConversation)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SecureConversationBootstrapCannotUseSecureConversation)));
SecurityBindingElement bootstrapSecurity = (SecurityBindingElement)this.SecureConversationBootstrap.CreateBindingElement(createTemplateOnly);
result = SecurityBindingElement.CreateSecureConversationBindingElement(bootstrapSecurity, this.RequireSecurityContextCancellation);
}
else
{
result = (SecurityBindingElement)base.CreateBindingElement(createTemplateOnly);
}
this.ApplyConfiguration(result);
return result;
}
protected override void AddBindingTemplates(Dictionary bindingTemplates)
{
base.AddBindingTemplates(bindingTemplates);
AddBindingTemplate(bindingTemplates, AuthenticationMode.SecureConversation);
}
void InitializeSecureConversationParameters(SecureConversationSecurityTokenParameters sc, bool initializeNestedBindings)
{
this.RequireSecurityContextCancellation = sc.RequireCancellation;
if (sc.BootstrapSecurityBindingElement != null)
{
this.SecureConversationBootstrap.InitializeFrom(sc.BootstrapSecurityBindingElement, initializeNestedBindings);
}
}
protected override void InitializeNestedTokenParameterSettings(SecurityTokenParameters sp, bool initializeNestedBindings)
{
if (sp is SecureConversationSecurityTokenParameters)
this.InitializeSecureConversationParameters((SecureConversationSecurityTokenParameters)sp, initializeNestedBindings);
else
base.InitializeNestedTokenParameterSettings(sp, initializeNestedBindings);
}
}
}
// 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
- Button.cs
- _SSPISessionCache.cs
- SystemTcpStatistics.cs
- Formatter.cs
- HttpRawResponse.cs
- MappingException.cs
- GcSettings.cs
- DBCommandBuilder.cs
- SQLGuidStorage.cs
- KnownColorTable.cs
- OletxCommittableTransaction.cs
- RequestSecurityTokenResponseCollection.cs
- FixedPageProcessor.cs
- MembershipUser.cs
- PageBuildProvider.cs
- SelectionItemPattern.cs
- backend.cs
- OLEDB_Enum.cs
- AppDomainManager.cs
- __ComObject.cs
- UnsafeNativeMethods.cs
- OptionUsage.cs
- DrawingServices.cs
- CryptoConfig.cs
- DataGridViewCheckBoxCell.cs
- WebBrowserHelper.cs
- StorageConditionPropertyMapping.cs
- PreviewPrintController.cs
- Metadata.cs
- Point3DConverter.cs
- OLEDB_Enum.cs
- WebControlsSection.cs
- SplineKeyFrames.cs
- CodeTypeConstructor.cs
- ReferencedCollectionType.cs
- Int16Storage.cs
- TraceLog.cs
- X509Certificate2Collection.cs
- XamlNamespaceHelper.cs
- TopClause.cs
- DispatcherProcessingDisabled.cs
- OneOfTypeConst.cs
- HttpHandlersSection.cs
- PasswordDeriveBytes.cs
- FileFormatException.cs
- DbCommandDefinition.cs
- EventDescriptorCollection.cs
- ConfigXmlSignificantWhitespace.cs
- Authorization.cs
- ListCollectionView.cs
- ExpressionBindingCollection.cs
- SqlCacheDependencyDatabase.cs
- MetadataArtifactLoader.cs
- InputReport.cs
- KeyValueConfigurationElement.cs
- MenuItemStyle.cs
- SettingsSection.cs
- NetDispatcherFaultException.cs
- XNameTypeConverter.cs
- TraceHwndHost.cs
- CaseKeyBox.ViewModel.cs
- PropertyEntry.cs
- Speller.cs
- JsonServiceDocumentSerializer.cs
- Root.cs
- AuthenticationManager.cs
- Drawing.cs
- EventMap.cs
- DSACryptoServiceProvider.cs
- LookupNode.cs
- BeginStoryboard.cs
- SqlClientWrapperSmiStream.cs
- TypeProvider.cs
- QilInvokeEarlyBound.cs
- CompositionTarget.cs
- SafeNativeMethods.cs
- MailBnfHelper.cs
- ExtractCollection.cs
- ActivityTrace.cs
- ExtentKey.cs
- InstanceNameConverter.cs
- WebServicesDescriptionAttribute.cs
- LoginUtil.cs
- GradientBrush.cs
- UserMapPath.cs
- VariableQuery.cs
- ComponentChangingEvent.cs
- HttpDateParse.cs
- SID.cs
- TableLayoutStyleCollection.cs
- CopyAttributesAction.cs
- Utilities.cs
- Hashtable.cs
- KeyboardNavigation.cs
- AttributeEmitter.cs
- DesignerOptions.cs
- AggregateNode.cs
- ConstraintManager.cs
- MimeTypeMapper.cs
- XmlName.cs