Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Configuration / AuthenticationModulesSection.cs / 1 / 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); } catch { throw new ConfigurationErrorsException(SR.GetString(SR.net_config_authenticationmodules), new Exception(SR.GetString(SR.net_nonClsCompliantException))); } 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; } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LocalsItemDescription.cs
- XhtmlBasicPhoneCallAdapter.cs
- ErrorFormatterPage.cs
- QueryCursorEventArgs.cs
- InternalSafeNativeMethods.cs
- PreviewKeyDownEventArgs.cs
- UIElement.cs
- RayHitTestParameters.cs
- QilNode.cs
- DockProviderWrapper.cs
- FramingChannels.cs
- VectorConverter.cs
- ClusterSafeNativeMethods.cs
- MulticastDelegate.cs
- SchemaConstraints.cs
- Dictionary.cs
- ServiceManager.cs
- SecurityDocument.cs
- namescope.cs
- Int32RectValueSerializer.cs
- QueryAsyncResult.cs
- StylusPointPropertyId.cs
- GeneralTransform.cs
- GifBitmapDecoder.cs
- CaretElement.cs
- DataGridViewTextBoxColumn.cs
- PackageDigitalSignature.cs
- HttpProfileBase.cs
- AlphaSortedEnumConverter.cs
- SoapExtensionTypeElement.cs
- ISCIIEncoding.cs
- SubclassTypeValidatorAttribute.cs
- ProtocolViolationException.cs
- SmtpDigestAuthenticationModule.cs
- StatusBarAutomationPeer.cs
- PixelFormat.cs
- VisualBasicSettingsHandler.cs
- StrokeNodeOperations.cs
- SqlMultiplexer.cs
- IteratorDescriptor.cs
- DependencySource.cs
- Button.cs
- OperationContractAttribute.cs
- SecurityHelper.cs
- Interlocked.cs
- EnglishPluralizationService.cs
- XamlStyleSerializer.cs
- CustomSignedXml.cs
- ToolStripSplitStackLayout.cs
- DataServiceProviderWrapper.cs
- VisualStyleRenderer.cs
- Typeface.cs
- CompilerErrorCollection.cs
- FormsAuthenticationConfiguration.cs
- XmlSchemaParticle.cs
- XsltInput.cs
- WebBrowsableAttribute.cs
- CodeExporter.cs
- RangeContentEnumerator.cs
- SoapElementAttribute.cs
- CacheHelper.cs
- RotateTransform3D.cs
- SqlExpressionNullability.cs
- PageContentCollection.cs
- SqlError.cs
- FlowLayoutSettings.cs
- WebPartUtil.cs
- TitleStyle.cs
- BindingElementExtensionElement.cs
- FolderBrowserDialog.cs
- TypeCacheManager.cs
- DataListItemEventArgs.cs
- SqlUtil.cs
- SafeProcessHandle.cs
- SoapDocumentServiceAttribute.cs
- EventData.cs
- OutputCacheProfile.cs
- XmlSecureResolver.cs
- SynchronizationValidator.cs
- SHA1Managed.cs
- AppDomainShutdownMonitor.cs
- ValueTable.cs
- AlignmentYValidation.cs
- XPathDocumentNavigator.cs
- ReadOnlyTernaryTree.cs
- SQLDecimal.cs
- DatagridviewDisplayedBandsData.cs
- XmlSchemaAnyAttribute.cs
- XsltSettings.cs
- MissingMethodException.cs
- WebPartCloseVerb.cs
- SourceChangedEventArgs.cs
- DPTypeDescriptorContext.cs
- Int32CAMarshaler.cs
- HostedHttpRequestAsyncResult.cs
- DecoderFallbackWithFailureFlag.cs
- RelationshipFixer.cs
- RenderData.cs
- RequestStatusBarUpdateEventArgs.cs
- AsymmetricSignatureFormatter.cs