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
- Nodes.cs
- PreservationFileReader.cs
- Logging.cs
- XhtmlConformanceSection.cs
- TextServicesContext.cs
- FacetValueContainer.cs
- RawMouseInputReport.cs
- WebConfigurationHostFileChange.cs
- DataTableClearEvent.cs
- ImageKeyConverter.cs
- ScaleTransform.cs
- COM2Enum.cs
- DbDataSourceEnumerator.cs
- XPathMultyIterator.cs
- TerminateDesigner.cs
- MaskInputRejectedEventArgs.cs
- ColumnWidthChangingEvent.cs
- DataGridLinkButton.cs
- PointLight.cs
- VerticalAlignConverter.cs
- Vector3DCollectionValueSerializer.cs
- Encoder.cs
- InvokeHandlers.cs
- VersionPair.cs
- PanelDesigner.cs
- OpenTypeLayout.cs
- ObjectDataSourceSelectingEventArgs.cs
- PublisherIdentityPermission.cs
- UIAgentInitializationException.cs
- OperationCanceledException.cs
- SizeFConverter.cs
- StateManagedCollection.cs
- DoubleUtil.cs
- PtsPage.cs
- DesignerSelectionListAdapter.cs
- SubstitutionList.cs
- DataGridHeaderBorder.cs
- SymbolTable.cs
- DataSourceCache.cs
- BaseAddressElement.cs
- ComplexTypeEmitter.cs
- Compiler.cs
- FormClosingEvent.cs
- FullTextLine.cs
- CodeDOMProvider.cs
- PackagingUtilities.cs
- EnumBuilder.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- MaskDesignerDialog.cs
- IconBitmapDecoder.cs
- SqlConnectionPoolProviderInfo.cs
- InfoCardCryptoHelper.cs
- Monitor.cs
- Grid.cs
- DebugView.cs
- SignatureDescription.cs
- SoapParser.cs
- TreeView.cs
- CanonicalFontFamilyReference.cs
- SymmetricKey.cs
- DbProviderSpecificTypePropertyAttribute.cs
- HtmlForm.cs
- AbsoluteQuery.cs
- Grant.cs
- OleDbReferenceCollection.cs
- SqlCacheDependencySection.cs
- TextTreeRootNode.cs
- ThousandthOfEmRealDoubles.cs
- CommonObjectSecurity.cs
- XPathSingletonIterator.cs
- DelimitedListTraceListener.cs
- SqlUDTStorage.cs
- RuleInfoComparer.cs
- SafeRightsManagementHandle.cs
- StringAnimationBase.cs
- GeometryModel3D.cs
- ACE.cs
- FacetChecker.cs
- Aes.cs
- QilVisitor.cs
- ContainerCodeDomSerializer.cs
- MetabaseReader.cs
- AssemblyResourceLoader.cs
- GridItemProviderWrapper.cs
- ProfilePropertySettingsCollection.cs
- NumericUpDownAccelerationCollection.cs
- SqlStream.cs
- ScrollPatternIdentifiers.cs
- MethodInfo.cs
- ButtonStandardAdapter.cs
- WindowsGraphicsCacheManager.cs
- PointLight.cs
- NetworkCredential.cs
- ProtocolsConfiguration.cs
- AssemblyInfo.cs
- Rectangle.cs
- WebPartHelpVerb.cs
- HttpListenerResponse.cs
- VerificationException.cs
- DefaultValueAttribute.cs