Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DataListItemEventArgs.cs
- OutArgument.cs
- HtmlDocument.cs
- SqlStream.cs
- GlyphTypeface.cs
- PeerNearMe.cs
- TcpStreams.cs
- NullReferenceException.cs
- WebPartChrome.cs
- XNodeValidator.cs
- ReferentialConstraint.cs
- XhtmlBasicLinkAdapter.cs
- GridViewPageEventArgs.cs
- NotSupportedException.cs
- PassportAuthentication.cs
- Link.cs
- VisualSerializer.cs
- PTConverter.cs
- ServiceHttpModule.cs
- XmlWhitespace.cs
- NameValuePermission.cs
- RangeBase.cs
- PointIndependentAnimationStorage.cs
- ZoomingMessageFilter.cs
- SystemIPGlobalStatistics.cs
- XPathSelfQuery.cs
- ClientRequest.cs
- GetPageNumberCompletedEventArgs.cs
- BindingWorker.cs
- BuildProvidersCompiler.cs
- DocumentPageHost.cs
- HttpHandler.cs
- String.cs
- RenamedEventArgs.cs
- WebPartConnectVerb.cs
- BaseProcessProtocolHandler.cs
- MetadataArtifactLoaderCompositeFile.cs
- CompiledRegexRunner.cs
- MethodCallConverter.cs
- SerializationAttributes.cs
- CmsInterop.cs
- CompoundFileStreamReference.cs
- HttpListenerException.cs
- DependencyPropertyChangedEventArgs.cs
- _ProxyRegBlob.cs
- SatelliteContractVersionAttribute.cs
- DataGridViewRowCollection.cs
- Storyboard.cs
- DataServiceResponse.cs
- DurationConverter.cs
- SiteMapNodeCollection.cs
- RequestUriProcessor.cs
- LinqDataSourceView.cs
- SafeMemoryMappedFileHandle.cs
- PointCollection.cs
- HtmlEmptyTagControlBuilder.cs
- ActionFrame.cs
- NotCondition.cs
- RectangleHotSpot.cs
- RegistryPermission.cs
- FunctionDetailsReader.cs
- AlphaSortedEnumConverter.cs
- TimeSpanFormat.cs
- XPathSingletonIterator.cs
- ObjectSecurity.cs
- EntityTypeEmitter.cs
- DispatcherTimer.cs
- CalendarDayButton.cs
- Types.cs
- OrderByQueryOptionExpression.cs
- InvokeWebService.cs
- FamilyTypefaceCollection.cs
- Message.cs
- ExpressionLexer.cs
- Context.cs
- GridItemCollection.cs
- StackSpiller.Temps.cs
- ResolveNameEventArgs.cs
- TraceSource.cs
- WorkflowRuntimeElement.cs
- FacetEnabledSchemaElement.cs
- AssemblyBuilder.cs
- ClientData.cs
- RawStylusActions.cs
- AdapterSwitches.cs
- ClientSettingsProvider.cs
- WebPartCollection.cs
- Maps.cs
- DataGridViewToolTip.cs
- GeneralTransformGroup.cs
- TableCell.cs
- Native.cs
- LogSwitch.cs
- DataObjectFieldAttribute.cs
- BufferedGraphicsContext.cs
- XmlDataCollection.cs
- SqlProvider.cs
- ToolStripTextBox.cs
- Track.cs
- RelationshipDetailsRow.cs