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
- ProfileSection.cs
- ErrorsHelper.cs
- SelectionEditingBehavior.cs
- ProvidePropertyAttribute.cs
- ClaimComparer.cs
- TextEditorLists.cs
- SafeNativeMethodsMilCoreApi.cs
- OracleConnectionString.cs
- StringExpressionSet.cs
- handlecollector.cs
- WorkflowTransactionOptions.cs
- WebPartDisplayMode.cs
- DockingAttribute.cs
- PointCollectionConverter.cs
- SliderAutomationPeer.cs
- DataGridViewCellConverter.cs
- ProtocolsConfigurationEntry.cs
- AvtEvent.cs
- Fx.cs
- UpdatePanel.cs
- FormView.cs
- TextBounds.cs
- RelationshipType.cs
- SequentialUshortCollection.cs
- ServiceObjectContainer.cs
- KernelTypeValidation.cs
- ObjectHandle.cs
- UnicodeEncoding.cs
- TextTreeRootTextBlock.cs
- EditingScope.cs
- XmlBinaryReaderSession.cs
- NativeMethods.cs
- Pen.cs
- ExceptionRoutedEventArgs.cs
- UnionExpr.cs
- UpdateTracker.cs
- EndPoint.cs
- UndoEngine.cs
- DuplicateContext.cs
- Rotation3DAnimationBase.cs
- LabelLiteral.cs
- ThreadExceptionDialog.cs
- Int32KeyFrameCollection.cs
- SoapRpcServiceAttribute.cs
- GridViewRowPresenterBase.cs
- XmlEncodedRawTextWriter.cs
- ProxyFragment.cs
- TitleStyle.cs
- ListBoxDesigner.cs
- ImageMap.cs
- ScalarConstant.cs
- ItemsControl.cs
- AnimationClockResource.cs
- UpDownBaseDesigner.cs
- WebPartUtil.cs
- Int32CAMarshaler.cs
- ButtonPopupAdapter.cs
- TemplateBindingExtensionConverter.cs
- PrintPreviewControl.cs
- httpstaticobjectscollection.cs
- ScriptMethodAttribute.cs
- BaseWebProxyFinder.cs
- DataServiceHostWrapper.cs
- IMembershipProvider.cs
- DefinitionBase.cs
- LabelEditEvent.cs
- ListItemConverter.cs
- DataGridColumnCollection.cs
- KerberosReceiverSecurityToken.cs
- ObjectStorage.cs
- EventSetter.cs
- EmbeddedObject.cs
- PaintEvent.cs
- CacheChildrenQuery.cs
- DefaultMemberAttribute.cs
- ChildChangedEventArgs.cs
- NativeMethods.cs
- XmlSubtreeReader.cs
- XmlSerializerVersionAttribute.cs
- CallContext.cs
- VectorAnimationUsingKeyFrames.cs
- VScrollProperties.cs
- StringUtil.cs
- WebPartTransformerCollection.cs
- DisplayNameAttribute.cs
- ObjectDataSourceView.cs
- OdbcStatementHandle.cs
- EdmPropertyAttribute.cs
- XpsResourcePolicy.cs
- TypefaceMap.cs
- DropTarget.cs
- ContentPlaceHolder.cs
- Expressions.cs
- MethodBuilder.cs
- ReadOnlyCollectionBuilder.cs
- TraceListeners.cs
- IdentityVerifier.cs
- ImplicitInputBrush.cs
- TextFragmentEngine.cs
- UIElement3D.cs