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
- NullableLongSumAggregationOperator.cs
- BasicCommandTreeVisitor.cs
- X500Name.cs
- ImageButton.cs
- Tablet.cs
- XmlSchemaComplexContent.cs
- DataGridViewRowsAddedEventArgs.cs
- ToolStripItem.cs
- StrongNameMembershipCondition.cs
- TranslateTransform.cs
- PointUtil.cs
- SerialErrors.cs
- LicenseException.cs
- AdornerHitTestResult.cs
- JoinSymbol.cs
- StylusButtonCollection.cs
- FaultReasonText.cs
- TriggerCollection.cs
- ByteFacetDescriptionElement.cs
- RestClientProxyHandler.cs
- CursorInteropHelper.cs
- SystemNetworkInterface.cs
- MappingException.cs
- GeneralTransform3DTo2D.cs
- DbDataRecord.cs
- WindowsListViewGroupSubsetLink.cs
- XmlSiteMapProvider.cs
- XmlWrappingReader.cs
- ValidationError.cs
- ImmutableObjectAttribute.cs
- DecoderBestFitFallback.cs
- CodeMethodInvokeExpression.cs
- COM2ColorConverter.cs
- XmlUrlResolver.cs
- InternalUserCancelledException.cs
- PaintValueEventArgs.cs
- CodeGen.cs
- GraphicsContainer.cs
- ExternalCalls.cs
- XPathDescendantIterator.cs
- BitmapEffectvisualstate.cs
- DeclarativeCatalogPart.cs
- AstNode.cs
- TransformConverter.cs
- TextBox.cs
- SoapElementAttribute.cs
- DivideByZeroException.cs
- PropertyManager.cs
- RSAPKCS1SignatureFormatter.cs
- SingleKeyFrameCollection.cs
- DataStreams.cs
- RsaKeyIdentifierClause.cs
- ServerValidateEventArgs.cs
- BmpBitmapEncoder.cs
- ComponentResourceManager.cs
- Expander.cs
- TileBrush.cs
- PersistenceProviderFactory.cs
- NetworkInterface.cs
- PropertyNames.cs
- EntityDataSourceSelectingEventArgs.cs
- Table.cs
- WebControlParameterProxy.cs
- ProfileService.cs
- BitmapEffectState.cs
- DesignerLinkAdapter.cs
- ObjectDataProvider.cs
- HttpProfileBase.cs
- RelationshipSet.cs
- UrlMapping.cs
- SQLStringStorage.cs
- CompilationSection.cs
- WebServiceFault.cs
- DesignerAutoFormatCollection.cs
- CollectionViewGroupRoot.cs
- MailBnfHelper.cs
- SiteMapSection.cs
- TraceContext.cs
- XhtmlBasicLabelAdapter.cs
- XmlSchemaInferenceException.cs
- EntityContainerAssociationSet.cs
- ArglessEventHandlerProxy.cs
- UdpDiscoveryMessageFilter.cs
- ServiceInfo.cs
- StringDictionaryWithComparer.cs
- SoapMessage.cs
- Permission.cs
- ContentType.cs
- PersistencePipeline.cs
- RequestNavigateEventArgs.cs
- ZipIOBlockManager.cs
- FolderBrowserDialog.cs
- SqlNotificationEventArgs.cs
- AttributeTable.cs
- Attribute.cs
- ServiceModelEnumValidator.cs
- SHA256Managed.cs
- SchemaRegistration.cs
- DBCSCodePageEncoding.cs
- SimpleExpression.cs