Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / security / system / security / authentication / ExtendedProtection / configuration / ExtendedProtectionPolicyElement.cs / 1305376 / ExtendedProtectionPolicyElement.cs
//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Configuration; namespace System.Security.Authentication.ExtendedProtection.Configuration { public sealed class ExtendedProtectionPolicyElement : ConfigurationElement { public ExtendedProtectionPolicyElement() { this.properties.Add(this.policyEnforcement); this.properties.Add(this.protectionScenario); this.properties.Add(this.customServiceNames); } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.PolicyEnforcement)] public PolicyEnforcement PolicyEnforcement { get { return (PolicyEnforcement)this[this.policyEnforcement]; } set { this[this.policyEnforcement] = value; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.ProtectionScenario, DefaultValue=ProtectionScenario.TransportSelected)] public ProtectionScenario ProtectionScenario { get { return (ProtectionScenario)this[this.protectionScenario]; } set { this[this.protectionScenario] = value; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.CustomServiceNames)] public ServiceNameElementCollection CustomServiceNames { get { return (ServiceNameElementCollection)this[this.customServiceNames]; } } public ExtendedProtectionPolicy BuildPolicy() { if (PolicyEnforcement == PolicyEnforcement.Never) { return new ExtendedProtectionPolicy(PolicyEnforcement.Never); } ServiceNameCollection spns = null; ServiceNameElementCollection spnCollection = CustomServiceNames; if (spnCollection != null && spnCollection.Count > 0) { ListspnList = new List (spnCollection.Count); foreach (ServiceNameElement element in spnCollection) { spnList.Add(element.Name); } spns = new ServiceNameCollection(spnList); } return new ExtendedProtectionPolicy(PolicyEnforcement, ProtectionScenario, spns); } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); private static PolicyEnforcement DefaultPolicyEnforcement { get { return PolicyEnforcement.Never; } } readonly ConfigurationProperty policyEnforcement = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.PolicyEnforcement, typeof(PolicyEnforcement), DefaultPolicyEnforcement, ConfigurationPropertyOptions.None); readonly ConfigurationProperty protectionScenario = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.ProtectionScenario, typeof(ProtectionScenario), ProtectionScenario.TransportSelected, ConfigurationPropertyOptions.None); readonly ConfigurationProperty customServiceNames = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.CustomServiceNames, typeof(ServiceNameElementCollection), null, ConfigurationPropertyOptions.None); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Configuration; namespace System.Security.Authentication.ExtendedProtection.Configuration { public sealed class ExtendedProtectionPolicyElement : ConfigurationElement { public ExtendedProtectionPolicyElement() { this.properties.Add(this.policyEnforcement); this.properties.Add(this.protectionScenario); this.properties.Add(this.customServiceNames); } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.PolicyEnforcement)] public PolicyEnforcement PolicyEnforcement { get { return (PolicyEnforcement)this[this.policyEnforcement]; } set { this[this.policyEnforcement] = value; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.ProtectionScenario, DefaultValue=ProtectionScenario.TransportSelected)] public ProtectionScenario ProtectionScenario { get { return (ProtectionScenario)this[this.protectionScenario]; } set { this[this.protectionScenario] = value; } } [ConfigurationProperty(ExtendedProtectionConfigurationStrings.CustomServiceNames)] public ServiceNameElementCollection CustomServiceNames { get { return (ServiceNameElementCollection)this[this.customServiceNames]; } } public ExtendedProtectionPolicy BuildPolicy() { if (PolicyEnforcement == PolicyEnforcement.Never) { return new ExtendedProtectionPolicy(PolicyEnforcement.Never); } ServiceNameCollection spns = null; ServiceNameElementCollection spnCollection = CustomServiceNames; if (spnCollection != null && spnCollection.Count > 0) { List spnList = new List (spnCollection.Count); foreach (ServiceNameElement element in spnCollection) { spnList.Add(element.Name); } spns = new ServiceNameCollection(spnList); } return new ExtendedProtectionPolicy(PolicyEnforcement, ProtectionScenario, spns); } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); private static PolicyEnforcement DefaultPolicyEnforcement { get { return PolicyEnforcement.Never; } } readonly ConfigurationProperty policyEnforcement = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.PolicyEnforcement, typeof(PolicyEnforcement), DefaultPolicyEnforcement, ConfigurationPropertyOptions.None); readonly ConfigurationProperty protectionScenario = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.ProtectionScenario, typeof(ProtectionScenario), ProtectionScenario.TransportSelected, ConfigurationPropertyOptions.None); readonly ConfigurationProperty customServiceNames = new ConfigurationProperty(ExtendedProtectionConfigurationStrings.CustomServiceNames, typeof(ServiceNameElementCollection), null, ConfigurationPropertyOptions.None); } } // 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
- TreeBuilder.cs
- QueuePropertyVariants.cs
- EntitySet.cs
- GeneralTransform2DTo3D.cs
- TemplateBaseAction.cs
- RectAnimationBase.cs
- AuthenticationModuleElement.cs
- XslAstAnalyzer.cs
- PersonalizationStateInfoCollection.cs
- WebPartZoneAutoFormat.cs
- ControlAdapter.cs
- AppSettingsReader.cs
- XmlCompatibilityReader.cs
- XamlPoint3DCollectionSerializer.cs
- DataServiceRequestOfT.cs
- AccessDataSourceView.cs
- AppDomainShutdownMonitor.cs
- WebPartsSection.cs
- ServiceDescriptionReflector.cs
- ThicknessConverter.cs
- ByteStorage.cs
- GeometryModel3D.cs
- GridLength.cs
- TextViewElement.cs
- ListBindingHelper.cs
- LoadMessageLogger.cs
- FeatureSupport.cs
- ObjectDataSourceEventArgs.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- ZipIOModeEnforcingStream.cs
- MessageQueueException.cs
- MemberInfoSerializationHolder.cs
- OleDbReferenceCollection.cs
- ConsoleTraceListener.cs
- TypeSystem.cs
- ChineseLunisolarCalendar.cs
- BulletedListDesigner.cs
- dataprotectionpermissionattribute.cs
- SamlEvidence.cs
- PropertyDescriptorGridEntry.cs
- ImageIndexEditor.cs
- AuthenticationService.cs
- TextServicesCompartmentContext.cs
- LowerCaseStringConverter.cs
- TypeNameHelper.cs
- URLString.cs
- Polygon.cs
- QuaternionAnimation.cs
- DataGridViewRowCollection.cs
- XhtmlTextWriter.cs
- PenCursorManager.cs
- DispatchWrapper.cs
- ScrollItemPattern.cs
- ValuePatternIdentifiers.cs
- ParagraphVisual.cs
- TCEAdapterGenerator.cs
- AccessDataSourceView.cs
- ModelItemCollectionImpl.cs
- ErrorFormatter.cs
- IDataContractSurrogate.cs
- EntityAdapter.cs
- ValidateNames.cs
- ReadOnlyTernaryTree.cs
- AsymmetricSignatureFormatter.cs
- OleTxTransaction.cs
- PrintEvent.cs
- AlternationConverter.cs
- CommentEmitter.cs
- UIElement.cs
- ResourceReferenceKeyNotFoundException.cs
- cookie.cs
- BeginStoryboard.cs
- ObjectDataSourceStatusEventArgs.cs
- PassportIdentity.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ConfigurationProperty.cs
- ScriptIgnoreAttribute.cs
- DefaultWorkflowSchedulerService.cs
- DesignTimeVisibleAttribute.cs
- AssemblyBuilder.cs
- AccessorTable.cs
- ThemeableAttribute.cs
- ObjectCacheHost.cs
- RegistrationServices.cs
- ZipPackagePart.cs
- GroupBoxRenderer.cs
- NonClientArea.cs
- EnumValAlphaComparer.cs
- SqlGenericUtil.cs
- ClientProxyGenerator.cs
- ImageCodecInfoPrivate.cs
- StreamingContext.cs
- ListViewCommandEventArgs.cs
- Roles.cs
- ToolStripMenuItem.cs
- AccessKeyManager.cs
- ListViewContainer.cs
- SqlConnection.cs
- ExpressionHelper.cs
- UpdatePanelTrigger.cs