Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Configuration / AuthenticationModulesSection.cs / 1305376 / AuthenticationModulesSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Configuration { using System.Configuration; using System.Collections.Generic; using System.Globalization; using System.Net; using System.Threading; public sealed class AuthenticationModulesSection : ConfigurationSection { public AuthenticationModulesSection() { this.properties.Add(this.authenticationModules); } protected override void PostDeserialize() { // Perf optimization. If the configuration is coming from machine.config // It is safe and we don't need to check for permissions. if (EvaluationContext.IsMachineLevel) return; try { ExceptionHelper.UnmanagedPermission.Demand(); } catch (Exception exception) { throw new ConfigurationErrorsException( SR.GetString(SR.net_config_section_permission, ConfigurationStrings.AuthenticationModulesSectionName), exception); } } [ConfigurationProperty("", IsDefaultCollection = true)] public AuthenticationModuleElementCollection AuthenticationModules { get { return (AuthenticationModuleElementCollection)this[this.authenticationModules]; } } protected override void InitializeDefault() { #if !FEATURE_PAL // Security this.AuthenticationModules.Add( new AuthenticationModuleElement(typeof(NegotiateClient).AssemblyQualifiedName)); this.AuthenticationModules.Add( new AuthenticationModuleElement(typeof(KerberosClient).AssemblyQualifiedName)); this.AuthenticationModules.Add( new AuthenticationModuleElement(typeof(NtlmClient).AssemblyQualifiedName)); this.AuthenticationModules.Add( new AuthenticationModuleElement(typeof(DigestClient).AssemblyQualifiedName)); this.AuthenticationModules.Add( new AuthenticationModuleElement(typeof(BasicClient).AssemblyQualifiedName)); #endif // !FEATURE_PAL // Security } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty authenticationModules = new ConfigurationProperty(null, typeof(AuthenticationModuleElementCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); } internal sealed class AuthenticationModulesSectionInternal { internal AuthenticationModulesSectionInternal(AuthenticationModulesSection section) { if (section.AuthenticationModules.Count > 0) { this.authenticationModules = new List(section.AuthenticationModules.Count); foreach(AuthenticationModuleElement authenticationModuleElement in section.AuthenticationModules) { Type type = null; try { type = Type.GetType(authenticationModuleElement.Type, true, true); // verify that its of the proper type of object if (!typeof(IAuthenticationModule).IsAssignableFrom(type)) { throw new InvalidCastException(SR.GetString(SR.net_invalid_cast, type.FullName, "IAuthenticationModule")); } } catch (Exception exception) { if (NclUtilities.IsFatal(exception)) throw; throw new ConfigurationErrorsException(SR.GetString(SR.net_config_authenticationmodules), exception); } this.authenticationModules.Add(type); } } } internal List AuthenticationModules { get { List retval = this.authenticationModules; if (retval == null) { retval = new List (0); } return retval; } } internal static object ClassSyncObject { get { if (classSyncObject == null) { object o = new object(); Interlocked.CompareExchange(ref classSyncObject, o, null); } return classSyncObject; } } static internal AuthenticationModulesSectionInternal GetSection() { lock (AuthenticationModulesSectionInternal.ClassSyncObject) { AuthenticationModulesSection section = PrivilegedConfigurationManager.GetSection(ConfigurationStrings.AuthenticationModulesSectionPath) as AuthenticationModulesSection; if (section == null) return null; return new AuthenticationModulesSectionInternal(section); } } List authenticationModules = null; static object classSyncObject = null; } } // 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
- TableLayout.cs
- _NegoState.cs
- Authorization.cs
- Emitter.cs
- NotifyParentPropertyAttribute.cs
- AmbientProperties.cs
- SqlNamer.cs
- XmlCodeExporter.cs
- ReliableChannelFactory.cs
- DiagnosticsConfigurationHandler.cs
- ToolStripScrollButton.cs
- WebEventCodes.cs
- CodeBlockBuilder.cs
- ScopelessEnumAttribute.cs
- IgnoreDataMemberAttribute.cs
- CustomAttributeBuilder.cs
- InstanceData.cs
- PrePrepareMethodAttribute.cs
- QilBinary.cs
- SignatureToken.cs
- Scripts.cs
- Assembly.cs
- FormatSettings.cs
- StringPropertyBuilder.cs
- Operator.cs
- SoapHeaderAttribute.cs
- CodeSnippetStatement.cs
- ExceptionHelpers.cs
- HelloMessageApril2005.cs
- ReflectTypeDescriptionProvider.cs
- OdbcUtils.cs
- Operand.cs
- FindCriteria11.cs
- ISAPIRuntime.cs
- SystemIcmpV6Statistics.cs
- DataObjectAttribute.cs
- NotImplementedException.cs
- ResourceContainer.cs
- TextContainerChangeEventArgs.cs
- PtsCache.cs
- CryptoConfig.cs
- GraphicsContainer.cs
- StringReader.cs
- PublisherIdentityPermission.cs
- TrackBar.cs
- ToggleProviderWrapper.cs
- BinaryCommonClasses.cs
- TextTreeTextElementNode.cs
- HealthMonitoringSection.cs
- StyleReferenceConverter.cs
- ListBox.cs
- IdnElement.cs
- StorageEndPropertyMapping.cs
- AccessViolationException.cs
- TextEditorCopyPaste.cs
- IFlowDocumentViewer.cs
- SqlMethods.cs
- WebPartHeaderCloseVerb.cs
- EditingCommands.cs
- HttpWriter.cs
- MeasureData.cs
- CallbackBehaviorAttribute.cs
- ObjectConverter.cs
- SymbolMethod.cs
- CompoundFileIOPermission.cs
- HttpWebRequest.cs
- TimersDescriptionAttribute.cs
- AudioLevelUpdatedEventArgs.cs
- SystemInformation.cs
- TabOrder.cs
- XPathNodeHelper.cs
- FixedSOMLineCollection.cs
- tooltip.cs
- ChildDocumentBlock.cs
- PersonalizationStateInfoCollection.cs
- XamlBuildTaskServices.cs
- UdpChannelFactory.cs
- SqlUserDefinedAggregateAttribute.cs
- ExceptionUtil.cs
- SmiEventStream.cs
- TranslateTransform.cs
- PathTooLongException.cs
- TiffBitmapEncoder.cs
- WmlImageAdapter.cs
- DataTableReaderListener.cs
- BrowserCapabilitiesCodeGenerator.cs
- WindowPattern.cs
- MouseBinding.cs
- SoapFault.cs
- Style.cs
- ErrorRuntimeConfig.cs
- PeerEndPoint.cs
- XamlDesignerSerializationManager.cs
- StructuralCache.cs
- DataBinding.cs
- Registry.cs
- Vector3DCollectionConverter.cs
- OleDbCommand.cs
- LinearQuaternionKeyFrame.cs
- RepeaterItemCollection.cs