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
- SamlAuthenticationStatement.cs
- StateBag.cs
- CodePropertyReferenceExpression.cs
- HttpContextWrapper.cs
- PageTheme.cs
- WebServiceEndpoint.cs
- LayoutExceptionEventArgs.cs
- EventDriven.cs
- ExceptionNotification.cs
- SmiEventSink_Default.cs
- AssemblyCollection.cs
- ProfileGroupSettings.cs
- XmlTextReaderImpl.cs
- InlinedAggregationOperatorEnumerator.cs
- GenerateTemporaryTargetAssembly.cs
- GlobalItem.cs
- TextServicesCompartmentEventSink.cs
- ExpressionBuilderContext.cs
- HttpCachePolicy.cs
- OutKeywords.cs
- AutomationPatternInfo.cs
- SafeSecurityHandles.cs
- GeometryHitTestParameters.cs
- NativeMethods.cs
- WaitHandle.cs
- RegionData.cs
- RSACryptoServiceProvider.cs
- ExtensionSimplifierMarkupObject.cs
- ShowExpandedMultiValueConverter.cs
- LinqDataSource.cs
- BackEase.cs
- ConfigsHelper.cs
- BitmapFrameEncode.cs
- ReversePositionQuery.cs
- InvokeBinder.cs
- Exception.cs
- WebReference.cs
- NamespaceCollection.cs
- HttpListenerRequestTraceRecord.cs
- RegexCapture.cs
- RadioButtonList.cs
- ArrayTypeMismatchException.cs
- ManagementNamedValueCollection.cs
- OleDbCommand.cs
- MarkupExtensionSerializer.cs
- Binding.cs
- WebPartPersonalization.cs
- WebBrowserNavigatingEventHandler.cs
- LayoutTable.cs
- SqlDataReaderSmi.cs
- PropertyGeneratedEventArgs.cs
- ConfigXmlAttribute.cs
- DtrList.cs
- RegularExpressionValidator.cs
- SiteMapNodeItem.cs
- Image.cs
- MediaContext.cs
- ImageCodecInfo.cs
- PhoneCall.cs
- AddInDeploymentState.cs
- DoubleAnimation.cs
- InkCanvasSelectionAdorner.cs
- NamedPipeDuplicateContext.cs
- DragEventArgs.cs
- MessageQueueKey.cs
- TextFormatterContext.cs
- EntityFunctions.cs
- WebPartEditorApplyVerb.cs
- MenuItemStyleCollection.cs
- SmtpFailedRecipientException.cs
- CommandField.cs
- HandledEventArgs.cs
- FtpWebResponse.cs
- SystemIPInterfaceStatistics.cs
- NameValueConfigurationElement.cs
- EntityDataSourceView.cs
- LocatorManager.cs
- PackageRelationship.cs
- BindingList.cs
- EmptyCollection.cs
- ScriptResourceDefinition.cs
- Transactions.cs
- SamlAudienceRestrictionCondition.cs
- SapiRecoContext.cs
- CodeTryCatchFinallyStatement.cs
- ManualWorkflowSchedulerService.cs
- WCFModelStrings.Designer.cs
- OracleNumber.cs
- ApplicationFileCodeDomTreeGenerator.cs
- PeerName.cs
- ExceptionUtil.cs
- ToolBar.cs
- DirectionalLight.cs
- DbProviderFactoriesConfigurationHandler.cs
- MemberHolder.cs
- TableLayoutCellPaintEventArgs.cs
- documentsequencetextview.cs
- Base64Stream.cs
- XmlElementCollection.cs
- RestHandlerFactory.cs