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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExtensionSimplifierMarkupObject.cs
- RowType.cs
- FrameworkContentElement.cs
- RandomNumberGenerator.cs
- GetKeyedHashRequest.cs
- EventLogEntry.cs
- WindowProviderWrapper.cs
- Atom10FormatterFactory.cs
- OdbcStatementHandle.cs
- PcmConverter.cs
- XmlC14NWriter.cs
- ConsoleTraceListener.cs
- XslCompiledTransform.cs
- DataControlFieldCollection.cs
- ToolStripSettings.cs
- DictionaryEditChange.cs
- FontDialog.cs
- ChineseLunisolarCalendar.cs
- HttpPostedFileBase.cs
- DebuggerAttributes.cs
- BuildResult.cs
- UpDownBase.cs
- PointAnimationBase.cs
- Point3DCollectionValueSerializer.cs
- X509CertificateRecipientServiceCredential.cs
- CharEnumerator.cs
- SiteMapHierarchicalDataSourceView.cs
- CroppedBitmap.cs
- ClientSettings.cs
- PasswordPropertyTextAttribute.cs
- SchemaElementDecl.cs
- CodeNamespaceCollection.cs
- StackSpiller.cs
- Propagator.JoinPropagator.cs
- ObjectContext.cs
- GenericsNotImplementedException.cs
- ResXBuildProvider.cs
- XmlValueConverter.cs
- CLSCompliantAttribute.cs
- DataViewSetting.cs
- ServiceObjectContainer.cs
- LazyTextWriterCreator.cs
- ComboBoxRenderer.cs
- TaskFormBase.cs
- Internal.cs
- IntAverageAggregationOperator.cs
- EntityException.cs
- FontDifferentiator.cs
- CaseInsensitiveComparer.cs
- InvokeMethod.cs
- NameNode.cs
- HtmlControlDesigner.cs
- Simplifier.cs
- ManagementExtension.cs
- PolyLineSegment.cs
- WebPartEventArgs.cs
- DialogResultConverter.cs
- XmlSchemaComplexContent.cs
- Root.cs
- TagPrefixCollection.cs
- Splitter.cs
- ScrollableControlDesigner.cs
- odbcmetadatafactory.cs
- ReferentialConstraint.cs
- TransformProviderWrapper.cs
- ContourSegment.cs
- ClientRuntimeConfig.cs
- SqlIdentifier.cs
- ScriptManager.cs
- FacetDescription.cs
- SslStream.cs
- SimpleHandlerFactory.cs
- EditCommandColumn.cs
- AVElementHelper.cs
- MatrixAnimationBase.cs
- SystemException.cs
- SoapFormatExtensions.cs
- Stack.cs
- RemoteArgument.cs
- BaseComponentEditor.cs
- WmlImageAdapter.cs
- MenuScrollingVisibilityConverter.cs
- cookiecollection.cs
- COM2IDispatchConverter.cs
- VScrollProperties.cs
- PasswordBox.cs
- GraphicsPath.cs
- MiniModule.cs
- OutputScopeManager.cs
- WindowsUpDown.cs
- Pair.cs
- CounterSampleCalculator.cs
- SimpleBitVector32.cs
- ToolStripMenuItemCodeDomSerializer.cs
- HealthMonitoringSectionHelper.cs
- XmlILIndex.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- UIElementCollection.cs
- WebServiceTypeData.cs
- SQLBoolean.cs