Code:
/ FX-1434 / FX-1434 / 1.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
- BinaryObjectReader.cs
- SvcFileManager.cs
- CodeGeneratorOptions.cs
- ErrorTableItemStyle.cs
- HtmlTitle.cs
- SQLDecimal.cs
- BindStream.cs
- DesignerDataSourceView.cs
- Crc32.cs
- DictionaryContent.cs
- SvcFileManager.cs
- oledbconnectionstring.cs
- SqlNode.cs
- ActivityCodeGenerator.cs
- TreeNode.cs
- PersonalizationStateInfoCollection.cs
- Menu.cs
- BamlLocalizableResource.cs
- PageVisual.cs
- TextBoxBase.cs
- DispatcherFrame.cs
- QueryCacheKey.cs
- NotImplementedException.cs
- Operand.cs
- ListItemCollection.cs
- Point3DConverter.cs
- TimerEventSubscription.cs
- HtmlControlDesigner.cs
- PasswordTextNavigator.cs
- DependentList.cs
- NetworkInformationPermission.cs
- WorkflowTerminatedException.cs
- CapabilitiesSection.cs
- BrowserCapabilitiesFactory.cs
- FigureHelper.cs
- RepeatBehaviorConverter.cs
- FormatControl.cs
- SizeAnimationClockResource.cs
- XmlBaseWriter.cs
- ItemDragEvent.cs
- List.cs
- SerializationSectionGroup.cs
- XmlBoundElement.cs
- AuthenticatedStream.cs
- WebPartConnectionsCancelVerb.cs
- Lasso.cs
- RootBuilder.cs
- Pen.cs
- ToolBarOverflowPanel.cs
- DynamicRendererThreadManager.cs
- CalendarAutoFormat.cs
- Thread.cs
- OdbcStatementHandle.cs
- dataobject.cs
- PersistenceTypeAttribute.cs
- DefinitionUpdate.cs
- SystemDropShadowChrome.cs
- JavaScriptString.cs
- HttpListener.cs
- MenuScrollingVisibilityConverter.cs
- GeneralTransformGroup.cs
- DataViewSetting.cs
- SpecialTypeDataContract.cs
- DataGridViewImageCell.cs
- DbConnectionStringBuilder.cs
- DetailsViewRow.cs
- DefaultValueTypeConverter.cs
- Grid.cs
- HttpWrapper.cs
- DictionarySectionHandler.cs
- ToolboxCategory.cs
- CalendarDay.cs
- WrappedIUnknown.cs
- AutomationTextAttribute.cs
- BitmapSourceSafeMILHandle.cs
- PasswordDeriveBytes.cs
- NotifyIcon.cs
- TextTreeInsertElementUndoUnit.cs
- CapabilitiesUse.cs
- CqlWriter.cs
- CacheSection.cs
- RSACryptoServiceProvider.cs
- XhtmlConformanceSection.cs
- ReadWriteSpinLock.cs
- DesignerAdapterUtil.cs
- HttpWebRequest.cs
- ReadWriteSpinLock.cs
- HtmlGenericControl.cs
- TreePrinter.cs
- Polygon.cs
- ClientConfigPaths.cs
- MarshalByValueComponent.cs
- FileLoadException.cs
- BamlLocalizer.cs
- DBBindings.cs
- InvalidDataException.cs
- PointLight.cs
- StylusButtonCollection.cs
- ContentType.cs
- FilterableData.cs