Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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;
}
}
// 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
- _SSPISessionCache.cs
- CompModHelpers.cs
- VariableReference.cs
- TextServicesContext.cs
- CodeDomLocalizationProvider.cs
- WorkerRequest.cs
- SymbolTable.cs
- ContextMenu.cs
- Misc.cs
- ScaleTransform3D.cs
- ConfigurationSection.cs
- CacheMemory.cs
- DataGridViewCellMouseEventArgs.cs
- Help.cs
- AssemblyInfo.cs
- cryptoapiTransform.cs
- mediaeventargs.cs
- ImageMapEventArgs.cs
- CounterSample.cs
- CodeDomConfigurationHandler.cs
- CodeTypeReferenceCollection.cs
- DetailsViewUpdatedEventArgs.cs
- TypeDescriptor.cs
- ActivityDefaults.cs
- NavigatingCancelEventArgs.cs
- ProxyWebPartManagerDesigner.cs
- CodeGenerator.cs
- NestPullup.cs
- TypeGeneratedEventArgs.cs
- ExtensionQuery.cs
- HostingEnvironmentException.cs
- EmbeddedMailObject.cs
- Scalars.cs
- FormClosingEvent.cs
- ViewGenResults.cs
- AssemblyUtil.cs
- WindowsFormsHelpers.cs
- ServiceOperationParameter.cs
- mediaeventargs.cs
- Pts.cs
- MemberAssignment.cs
- IERequestCache.cs
- EmptyControlCollection.cs
- SelectionRange.cs
- AlternateViewCollection.cs
- Panel.cs
- AutomationProperty.cs
- SqlTriggerAttribute.cs
- BamlLocalizabilityResolver.cs
- DataGridViewCellConverter.cs
- ResourceManagerWrapper.cs
- OleDbConnectionInternal.cs
- SecurityChannelFactory.cs
- PeerTransportSecuritySettings.cs
- TransactionTable.cs
- QueryParameter.cs
- PartialArray.cs
- UrlSyndicationContent.cs
- XmlNodeChangedEventArgs.cs
- AnnotationObservableCollection.cs
- OleDbException.cs
- ExpressionLink.cs
- CollectionBase.cs
- HttpWrapper.cs
- HttpConfigurationSystem.cs
- RadioButtonFlatAdapter.cs
- SqlDataSourceCache.cs
- TileBrush.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- Ipv6Element.cs
- objectresult_tresulttype.cs
- SpellerStatusTable.cs
- AutomationPattern.cs
- ValuePatternIdentifiers.cs
- GroupQuery.cs
- DrawingCollection.cs
- RectConverter.cs
- SecureUICommand.cs
- RijndaelManagedTransform.cs
- FileDialog.cs
- BrowserCapabilitiesCodeGenerator.cs
- SQLCharsStorage.cs
- PersistenceProvider.cs
- Queue.cs
- EditorZone.cs
- MouseWheelEventArgs.cs
- TemplateFactory.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- WebBrowserBase.cs
- QilUnary.cs
- PerformanceCounter.cs
- WindowShowOrOpenTracker.cs
- Thickness.cs
- ColorContext.cs
- Int32CollectionConverter.cs
- SchemaElement.cs
- SmtpFailedRecipientsException.cs
- SQLSingle.cs
- StackOverflowException.cs
- GridProviderWrapper.cs