Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / security / system / security / authentication / ExtendedProtection / ExtendedProtectionPolicy.cs / 1 / ExtendedProtectionPolicy.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Security.Authentication.ExtendedProtection;
using System.Text;
namespace System.Security.Authentication.ExtendedProtection
{
///
/// This class contains the necessary settings for specifying how Extended Protection
/// should behave. Use one of the Build* methods to create an instance of this type.
///
public class ExtendedProtectionPolicy
{
private ServiceNameCollection customServiceNames;
private PolicyEnforcement policyEnforcement;
private ProtectionScenario protectionScenario;
private ChannelBinding customChannelBinding;
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement,
ProtectionScenario protectionScenario,
ServiceNameCollection customServiceNames)
{
if (policyEnforcement == PolicyEnforcement.Never)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement");
}
if (customServiceNames != null && customServiceNames.Count == 0)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_NoEmptyServiceNameCollection), "customServiceNames");
}
this.policyEnforcement = policyEnforcement;
this.protectionScenario = protectionScenario;
this.customServiceNames = customServiceNames;
}
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement,
ChannelBinding customChannelBinding)
{
if (policyEnforcement == PolicyEnforcement.Never)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement");
}
if (customChannelBinding == null)
{
throw new ArgumentNullException("customChannelBinding");
}
this.policyEnforcement = policyEnforcement;
this.protectionScenario = ProtectionScenario.TransportSelected;
this.customChannelBinding = customChannelBinding;
}
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement)
{
// this is the only constructor which allows PolicyEnforcement.Never.
this.policyEnforcement = policyEnforcement;
this.protectionScenario = ProtectionScenario.TransportSelected;
}
public ServiceNameCollection CustomServiceNames
{
get { return customServiceNames; }
}
public PolicyEnforcement PolicyEnforcement
{
get { return policyEnforcement; }
}
public ProtectionScenario ProtectionScenario
{
get { return protectionScenario; }
}
public ChannelBinding CustomChannelBinding
{
get { return customChannelBinding; }
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("ProtectionScenario=");
sb.Append(protectionScenario.ToString());
sb.Append("; PolicyEnforcement=");
sb.Append(policyEnforcement.ToString());
sb.Append("; CustomChannelBinding=");
if (customChannelBinding == null)
{
sb.Append("");
}
else
{
sb.Append(customChannelBinding.ToString());
}
sb.Append("; ServiceNames=");
if (customServiceNames == null)
{
sb.Append("");
}
else
{
bool first = true;
foreach (string serviceName in customServiceNames)
{
if (first)
{
first = false;
}
else
{
sb.Append(", ");
}
sb.Append(serviceName);
}
}
return sb.ToString();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Security.Authentication.ExtendedProtection;
using System.Text;
namespace System.Security.Authentication.ExtendedProtection
{
///
/// This class contains the necessary settings for specifying how Extended Protection
/// should behave. Use one of the Build* methods to create an instance of this type.
///
public class ExtendedProtectionPolicy
{
private ServiceNameCollection customServiceNames;
private PolicyEnforcement policyEnforcement;
private ProtectionScenario protectionScenario;
private ChannelBinding customChannelBinding;
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement,
ProtectionScenario protectionScenario,
ServiceNameCollection customServiceNames)
{
if (policyEnforcement == PolicyEnforcement.Never)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement");
}
if (customServiceNames != null && customServiceNames.Count == 0)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_NoEmptyServiceNameCollection), "customServiceNames");
}
this.policyEnforcement = policyEnforcement;
this.protectionScenario = protectionScenario;
this.customServiceNames = customServiceNames;
}
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement,
ChannelBinding customChannelBinding)
{
if (policyEnforcement == PolicyEnforcement.Never)
{
throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement");
}
if (customChannelBinding == null)
{
throw new ArgumentNullException("customChannelBinding");
}
this.policyEnforcement = policyEnforcement;
this.protectionScenario = ProtectionScenario.TransportSelected;
this.customChannelBinding = customChannelBinding;
}
public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement)
{
// this is the only constructor which allows PolicyEnforcement.Never.
this.policyEnforcement = policyEnforcement;
this.protectionScenario = ProtectionScenario.TransportSelected;
}
public ServiceNameCollection CustomServiceNames
{
get { return customServiceNames; }
}
public PolicyEnforcement PolicyEnforcement
{
get { return policyEnforcement; }
}
public ProtectionScenario ProtectionScenario
{
get { return protectionScenario; }
}
public ChannelBinding CustomChannelBinding
{
get { return customChannelBinding; }
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("ProtectionScenario=");
sb.Append(protectionScenario.ToString());
sb.Append("; PolicyEnforcement=");
sb.Append(policyEnforcement.ToString());
sb.Append("; CustomChannelBinding=");
if (customChannelBinding == null)
{
sb.Append("");
}
else
{
sb.Append(customChannelBinding.ToString());
}
sb.Append("; ServiceNames=");
if (customServiceNames == null)
{
sb.Append("");
}
else
{
bool first = true;
foreach (string serviceName in customServiceNames)
{
if (first)
{
first = false;
}
else
{
sb.Append(", ");
}
sb.Append(serviceName);
}
}
return sb.ToString();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemColors.cs
- ClientTarget.cs
- GenericNameHandler.cs
- TreeViewDataItemAutomationPeer.cs
- XmlRootAttribute.cs
- InstanceCompleteException.cs
- FileDialogPermission.cs
- BaseTreeIterator.cs
- TypeRefElement.cs
- PropertySourceInfo.cs
- Exceptions.cs
- JsonReaderDelegator.cs
- GenericEnumConverter.cs
- DataStreamFromComStream.cs
- SmtpLoginAuthenticationModule.cs
- AlphaSortedEnumConverter.cs
- IsolatedStorageFileStream.cs
- SR.cs
- OleDbParameterCollection.cs
- MarginCollapsingState.cs
- DataSourceControl.cs
- CultureInfoConverter.cs
- XPathException.cs
- querybuilder.cs
- EventMappingSettings.cs
- DataReceivedEventArgs.cs
- ServiceOperationParameter.cs
- PropertyDescriptorComparer.cs
- SectionVisual.cs
- UnsafeCollabNativeMethods.cs
- BridgeDataRecord.cs
- ControlEvent.cs
- SystemDiagnosticsSection.cs
- TabControlToolboxItem.cs
- ObjectSecurity.cs
- ToolStripRenderEventArgs.cs
- FilteredAttributeCollection.cs
- DataColumnCollection.cs
- ViewStateException.cs
- DecimalStorage.cs
- WorkflowCompensationBehavior.cs
- RelatedPropertyManager.cs
- ByteBufferPool.cs
- TypeBinaryExpression.cs
- UnconditionalPolicy.cs
- HybridDictionary.cs
- ObjectStateManager.cs
- PassportAuthenticationEventArgs.cs
- InputReportEventArgs.cs
- AtomEntry.cs
- SettingsPropertyNotFoundException.cs
- PeerMessageDispatcher.cs
- AdRotator.cs
- Normalizer.cs
- HttpInputStream.cs
- InputReport.cs
- AssociationSetEnd.cs
- SqlPersonalizationProvider.cs
- AssemblyFilter.cs
- AvTrace.cs
- HttpProtocolImporter.cs
- regiisutil.cs
- ClientSettingsStore.cs
- RequestCacheValidator.cs
- ConfigXmlWhitespace.cs
- DocobjHost.cs
- CryptoApi.cs
- GridViewEditEventArgs.cs
- ParagraphVisual.cs
- HttpApplicationFactory.cs
- WindowsTooltip.cs
- XmlSerializationWriter.cs
- TableCellsCollectionEditor.cs
- CryptoHelper.cs
- DateTimeStorage.cs
- QueryUtil.cs
- DataServiceOperationContext.cs
- XmlEnumAttribute.cs
- ComponentCollection.cs
- isolationinterop.cs
- ApplicationProxyInternal.cs
- RefreshPropertiesAttribute.cs
- WorkflowPrinting.cs
- StringResourceManager.cs
- InkCanvasFeedbackAdorner.cs
- Int16Storage.cs
- StateItem.cs
- WebRequest.cs
- SystemTcpConnection.cs
- ExpressionContext.cs
- AutoCompleteStringCollection.cs
- RunInstallerAttribute.cs
- WizardPanelChangingEventArgs.cs
- TextUtf8RawTextWriter.cs
- CompilerLocalReference.cs
- OneOfScalarConst.cs
- RoleManagerModule.cs
- Converter.cs
- SqlDependencyListener.cs
- RegexCompilationInfo.cs