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
- relpropertyhelper.cs
- ServicePointManager.cs
- UIPropertyMetadata.cs
- DrawingVisual.cs
- DurableErrorHandler.cs
- ControlParameter.cs
- TextRange.cs
- AnimationTimeline.cs
- FocusManager.cs
- EditorOptionAttribute.cs
- WindowsFormsHost.cs
- ScrollData.cs
- SiteMembershipCondition.cs
- StorageSetMapping.cs
- AndMessageFilter.cs
- CryptoConfig.cs
- ManualResetEvent.cs
- MostlySingletonList.cs
- HyperLinkStyle.cs
- DataGridRelationshipRow.cs
- TreeViewImageKeyConverter.cs
- SqlUnionizer.cs
- SecurityTokenAttachmentMode.cs
- MemoryMappedViewStream.cs
- XmlTextEncoder.cs
- InkSerializer.cs
- PresentationTraceSources.cs
- ServiceOperationParameter.cs
- WindowsStartMenu.cs
- COSERVERINFO.cs
- CommentEmitter.cs
- ExeContext.cs
- DecoderFallbackWithFailureFlag.cs
- DefaultTextStore.cs
- KeyboardEventArgs.cs
- CodeSnippetCompileUnit.cs
- OSFeature.cs
- ServiceCredentials.cs
- SQLDateTimeStorage.cs
- HttpCookie.cs
- __FastResourceComparer.cs
- ConfigurationElementProperty.cs
- ActivityDesignerAccessibleObject.cs
- SymmetricKeyWrap.cs
- ObjectTag.cs
- DataServiceHost.cs
- HttpWriter.cs
- GeneralTransform3DTo2DTo3D.cs
- GuidTagList.cs
- XamlVector3DCollectionSerializer.cs
- TextRangeSerialization.cs
- OuterGlowBitmapEffect.cs
- DeobfuscatingStream.cs
- Vector3DAnimation.cs
- ProgressChangedEventArgs.cs
- LinearKeyFrames.cs
- DataViewManager.cs
- Command.cs
- StateBag.cs
- FileDialog_Vista_Interop.cs
- SelectionItemPattern.cs
- SqlProviderServices.cs
- SqlMetaData.cs
- RowType.cs
- IntegerValidator.cs
- XmlConvert.cs
- MULTI_QI.cs
- BulletChrome.cs
- PropertyRecord.cs
- AddingNewEventArgs.cs
- OracleRowUpdatedEventArgs.cs
- IisTraceWebEventProvider.cs
- SQlBooleanStorage.cs
- SqlBulkCopy.cs
- WindowsHyperlink.cs
- PiiTraceSource.cs
- GregorianCalendarHelper.cs
- DesignerActionListCollection.cs
- ClientFormsIdentity.cs
- Double.cs
- DataServiceHost.cs
- Parameter.cs
- ParameterToken.cs
- DataSourceGeneratorException.cs
- ConfigurationConverterBase.cs
- ClientConvert.cs
- BitmapScalingModeValidation.cs
- CodeConditionStatement.cs
- RootBrowserWindow.cs
- InitializingNewItemEventArgs.cs
- Misc.cs
- TrimSurroundingWhitespaceAttribute.cs
- MetadataArtifactLoaderCompositeFile.cs
- MatrixConverter.cs
- DataGridViewTopRowAccessibleObject.cs
- ExtendedProperty.cs
- CheckBoxList.cs
- ActiveXContainer.cs
- BackgroundFormatInfo.cs
- SecurityException.cs