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
- DiscriminatorMap.cs
- FileResponseElement.cs
- DatePickerDateValidationErrorEventArgs.cs
- EventTrigger.cs
- SqlParameterCollection.cs
- EventLogPermissionAttribute.cs
- TextCharacters.cs
- TreeViewImageKeyConverter.cs
- ClientSettingsSection.cs
- RuntimeResourceSet.cs
- RayHitTestParameters.cs
- Application.cs
- EventLogger.cs
- __FastResourceComparer.cs
- DesignerProperties.cs
- SafeFileMappingHandle.cs
- DateTimeConstantAttribute.cs
- MenuScrollingVisibilityConverter.cs
- SpanIndex.cs
- ForEachAction.cs
- BitConverter.cs
- TileModeValidation.cs
- StyleCollection.cs
- ChameleonKey.cs
- ExtensionElement.cs
- ChildrenQuery.cs
- ImageSourceValueSerializer.cs
- StringBuilder.cs
- EventProviderClassic.cs
- ConfigurationSettings.cs
- GridView.cs
- BitmapEffect.cs
- AuthorizationRule.cs
- GridViewRowPresenterBase.cs
- XmlValueConverter.cs
- BindStream.cs
- RuleSetBrowserDialog.cs
- ReliabilityContractAttribute.cs
- SizeConverter.cs
- StylusEditingBehavior.cs
- XmlDataDocument.cs
- ImageMapEventArgs.cs
- _IPv4Address.cs
- CompositeDataBoundControl.cs
- DefaultWorkflowTransactionService.cs
- SchemaElementLookUpTableEnumerator.cs
- ContractAdapter.cs
- SqlBooleanMismatchVisitor.cs
- Int64AnimationUsingKeyFrames.cs
- SocketAddress.cs
- ListViewEditEventArgs.cs
- RoleGroup.cs
- ObjectReaderCompiler.cs
- AdRotator.cs
- UrlMappingsModule.cs
- TrustExchangeException.cs
- RoleGroupCollection.cs
- RangeValuePattern.cs
- DrawingContextDrawingContextWalker.cs
- TypeConverterValueSerializer.cs
- DeriveBytes.cs
- VectorAnimation.cs
- ProgressBarBrushConverter.cs
- AsyncResult.cs
- SystemParameters.cs
- EdmFunction.cs
- QilXmlReader.cs
- HttpListenerException.cs
- SQLChars.cs
- HuffmanTree.cs
- DateTimeUtil.cs
- XPathBinder.cs
- CmsInterop.cs
- Button.cs
- LockCookie.cs
- WsdlInspector.cs
- ScriptingSectionGroup.cs
- MetadataException.cs
- Events.cs
- XamlSerializer.cs
- FixedDSBuilder.cs
- UnsafeNativeMethods.cs
- FamilyTypefaceCollection.cs
- AuthorizationRuleCollection.cs
- CharEntityEncoderFallback.cs
- WebPartDisplayModeEventArgs.cs
- ReaderWriterLockSlim.cs
- ByteRangeDownloader.cs
- ConfigXmlWhitespace.cs
- FileDialogCustomPlace.cs
- SchemaNotation.cs
- BooleanConverter.cs
- DesignerMetadata.cs
- RoleService.cs
- _SecureChannel.cs
- _PooledStream.cs
- Section.cs
- LookupNode.cs
- DbTransaction.cs
- LockedBorderGlyph.cs