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
- Buffer.cs
- MsmqIntegrationElement.cs
- ComponentRenameEvent.cs
- UIPropertyMetadata.cs
- WeakReferenceKey.cs
- DataServiceQuery.cs
- iisPickupDirectory.cs
- ReadOnlyTernaryTree.cs
- NativeObjectSecurity.cs
- UnhandledExceptionEventArgs.cs
- SynchronizedDispatch.cs
- TraceContextEventArgs.cs
- PropertyReference.cs
- UnsafeNetInfoNativeMethods.cs
- StateManagedCollection.cs
- PrintPageEvent.cs
- EntityViewContainer.cs
- XmlLinkedNode.cs
- GridViewColumn.cs
- _FtpDataStream.cs
- QuaternionConverter.cs
- Border.cs
- WebServiceTypeData.cs
- ImplicitInputBrush.cs
- DataGridViewRowConverter.cs
- WasAdminWrapper.cs
- RadioButton.cs
- WebPartDisplayModeCancelEventArgs.cs
- ThumbAutomationPeer.cs
- Context.cs
- DataGridViewBindingCompleteEventArgs.cs
- ObjectStateFormatter.cs
- SqlNodeTypeOperators.cs
- ServiceModelConfiguration.cs
- DataListItem.cs
- ShapingEngine.cs
- DataTableMapping.cs
- TimeSpanConverter.cs
- RenderCapability.cs
- AssociationTypeEmitter.cs
- X509SecurityToken.cs
- TripleDESCryptoServiceProvider.cs
- SpecialNameAttribute.cs
- ListControlConvertEventArgs.cs
- NativeMethods.cs
- SystemIPGlobalStatistics.cs
- HttpCacheVaryByContentEncodings.cs
- JsonQNameDataContract.cs
- WpfPayload.cs
- ExceptionUtil.cs
- EntityDataSourceColumn.cs
- AttributeQuery.cs
- ImmutableAssemblyCacheEntry.cs
- CanonicalXml.cs
- OdbcFactory.cs
- GraphicsContext.cs
- MetadataItem.cs
- _emptywebproxy.cs
- PlatformNotSupportedException.cs
- _emptywebproxy.cs
- CompensationDesigner.cs
- CallSiteOps.cs
- QilParameter.cs
- SQLMoney.cs
- SemaphoreFullException.cs
- DoubleLink.cs
- WindowsComboBox.cs
- BitmapCodecInfoInternal.cs
- DataSetMappper.cs
- StateManagedCollection.cs
- TraceContextRecord.cs
- XhtmlBasicLinkAdapter.cs
- LambdaCompiler.Logical.cs
- WindowsFormsSynchronizationContext.cs
- ComponentChangingEvent.cs
- IPipelineRuntime.cs
- WebPartConnectionsConfigureVerb.cs
- PathFigureCollection.cs
- DataConnectionHelper.cs
- RequestSecurityToken.cs
- ImageEditor.cs
- AdapterDictionary.cs
- DoubleAverageAggregationOperator.cs
- InternalConfirm.cs
- BmpBitmapEncoder.cs
- WebEvents.cs
- CollectionViewGroupRoot.cs
- RequestQueryParser.cs
- ValidatedControlConverter.cs
- GAC.cs
- HtmlContainerControl.cs
- IConvertible.cs
- BookmarkResumptionRecord.cs
- EncoderExceptionFallback.cs
- DataServiceRequest.cs
- ContainerControlDesigner.cs
- FileSecurity.cs
- ColorConvertedBitmapExtension.cs
- TextInfo.cs
- WebEvents.cs