Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / FormsAuthenticationConfiguration.cs / 1305376 / FormsAuthenticationConfiguration.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*****************************************************************************
From machine.config
******************************************************************************/
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.Globalization;
using System.IO;
using System.Text;
using System.Web.Util;
using System.ComponentModel;
using System.Security.Permissions;
public sealed class FormsAuthenticationConfiguration : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty =
new ConfigurationElementProperty(new CallbackValidator(typeof(FormsAuthenticationConfiguration), Validate));
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propCredentials =
new ConfigurationProperty("credentials",
typeof(FormsAuthenticationCredentials),
null,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propName =
new ConfigurationProperty("name",
typeof(string),
".ASPXAUTH",
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propLoginUrl =
new ConfigurationProperty("loginUrl",
typeof(string),
"login.aspx",
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propDefaultUrl =
new ConfigurationProperty("defaultUrl",
typeof(string),
"default.aspx",
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propProtection =
new ConfigurationProperty("protection",
typeof(FormsProtectionEnum),
FormsProtectionEnum.All,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propTimeout =
new ConfigurationProperty("timeout",
typeof(TimeSpan),
TimeSpan.FromMinutes(30.0),
StdValidatorsAndConverters.TimeSpanMinutesConverter,
new TimeSpanValidator(TimeSpan.FromMinutes(1), TimeSpan.MaxValue),
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propPath =
new ConfigurationProperty("path",
typeof(string),
"/",
null,
StdValidatorsAndConverters.NonEmptyStringValidator,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propRequireSSL =
new ConfigurationProperty("requireSSL",
typeof(bool),
false,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propSlidingExpiration =
new ConfigurationProperty("slidingExpiration",
typeof(bool),
true,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propCookieless =
new ConfigurationProperty("cookieless",
typeof(HttpCookieMode),
HttpCookieMode.UseDeviceProfile,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propDomain =
new ConfigurationProperty("domain",
typeof(string),
null,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propEnableCrossAppRedirects =
new ConfigurationProperty("enableCrossAppRedirects",
typeof(bool),
false,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propTicketCompatibilityMode =
new ConfigurationProperty("ticketCompatibilityMode",
typeof(TicketCompatibilityMode),
TicketCompatibilityMode.Framework20,
ConfigurationPropertyOptions.None);
static FormsAuthenticationConfiguration() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propCredentials);
_properties.Add(_propName);
_properties.Add(_propLoginUrl);
_properties.Add(_propDefaultUrl);
_properties.Add(_propProtection);
_properties.Add(_propTimeout);
_properties.Add(_propPath);
_properties.Add(_propRequireSSL);
_properties.Add(_propSlidingExpiration);
_properties.Add(_propCookieless);
_properties.Add(_propDomain);
_properties.Add(_propEnableCrossAppRedirects);
_properties.Add(_propTicketCompatibilityMode);
}
public FormsAuthenticationConfiguration() {
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("credentials")]
public FormsAuthenticationCredentials Credentials {
get {
return (FormsAuthenticationCredentials)base[_propCredentials];
}
}
[ConfigurationProperty("name", DefaultValue = ".ASPXAUTH")]
[StringValidator(MinLength = 1)]
public string Name {
get {
return (string)base[_propName];
}
set {
if (String.IsNullOrEmpty(value)) {
base[_propName] = _propName.DefaultValue;
}
else {
base[_propName] = value;
}
}
}
[ConfigurationProperty("loginUrl", DefaultValue = "login.aspx")]
[StringValidator(MinLength = 1)]
public string LoginUrl {
get {
return (string)base[_propLoginUrl];
}
set {
if (String.IsNullOrEmpty(value)) {
base[_propLoginUrl] = _propLoginUrl.DefaultValue;
}
else {
base[_propLoginUrl] = value;
}
}
}
[ConfigurationProperty("defaultUrl", DefaultValue = "default.aspx")]
[StringValidator(MinLength = 1)]
public string DefaultUrl {
get {
return (string)base[_propDefaultUrl];
}
set {
if (String.IsNullOrEmpty(value)) {
base[_propDefaultUrl] = _propDefaultUrl.DefaultValue;
}
else {
base[_propDefaultUrl] = value;
}
}
}
[ConfigurationProperty("protection", DefaultValue = FormsProtectionEnum.All)]
public FormsProtectionEnum Protection {
get {
return (FormsProtectionEnum)base[_propProtection];
}
set {
base[_propProtection] = value;
}
}
[ConfigurationProperty("timeout", DefaultValue = "00:30:00")]
[TimeSpanValidator(MinValueString="00:01:00", MaxValueString=TimeSpanValidatorAttribute.TimeSpanMaxValue)]
[TypeConverter(typeof(TimeSpanMinutesConverter))]
public TimeSpan Timeout {
get {
return (TimeSpan)base[_propTimeout];
}
set {
base[_propTimeout] = value;
}
}
[ConfigurationProperty("path", DefaultValue = "/")]
[StringValidator(MinLength = 1)]
public string Path {
get {
return (string)base[_propPath];
}
set {
if (String.IsNullOrEmpty(value)) {
base[_propPath] = _propPath.DefaultValue;
}
else {
base[_propPath] = value;
}
}
}
[ConfigurationProperty("requireSSL", DefaultValue = false)]
public bool RequireSSL {
get {
return (bool)base[_propRequireSSL];
}
set {
base[_propRequireSSL] = value;
}
}
[ConfigurationProperty("slidingExpiration", DefaultValue = true)]
public bool SlidingExpiration {
get {
return (bool)base[_propSlidingExpiration];
}
set {
base[_propSlidingExpiration] = value;
}
}
[ConfigurationProperty("enableCrossAppRedirects", DefaultValue = false)]
public bool EnableCrossAppRedirects {
get {
return (bool)base[_propEnableCrossAppRedirects];
}
set {
base[_propEnableCrossAppRedirects] = value;
}
}
[ConfigurationProperty("cookieless", DefaultValue = HttpCookieMode.UseDeviceProfile)]
public HttpCookieMode Cookieless {
get {
return (HttpCookieMode)base[_propCookieless];
}
set {
base[_propCookieless] = value;
}
}
[ConfigurationProperty("domain", DefaultValue = "")]
public string Domain {
get {
return (string)base[_propDomain];
}
set {
base[_propDomain] = value;
}
}
[ConfigurationProperty("ticketCompatibilityMode", DefaultValue = TicketCompatibilityMode.Framework20)]
public TicketCompatibilityMode TicketCompatibilityMode {
get {
return (TicketCompatibilityMode)base[_propTicketCompatibilityMode];
}
set {
base[_propTicketCompatibilityMode] = value;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("forms");
}
FormsAuthenticationConfiguration elem = (FormsAuthenticationConfiguration)value;
if (StringUtil.StringStartsWith(elem.LoginUrl, "\\\\") ||
(elem.LoginUrl.Length > 1 && elem.LoginUrl[1] == ':')) {
throw new ConfigurationErrorsException(SR.GetString(SR.Auth_bad_url),
elem.ElementInformation.Properties["loginUrl"].Source,
elem.ElementInformation.Properties["loginUrl"].LineNumber);
}
if (StringUtil.StringStartsWith(elem.DefaultUrl, "\\\\") ||
(elem.DefaultUrl.Length > 1 && elem.DefaultUrl[1] == ':')) {
throw new ConfigurationErrorsException(SR.GetString(SR.Auth_bad_url),
elem.ElementInformation.Properties["defaultUrl"].Source,
elem.ElementInformation.Properties["defaultUrl"].LineNumber);
}
}
} // class FormsAuthenticationConfiguration
}
// 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
- ThrowHelper.cs
- EntityStoreSchemaFilterEntry.cs
- UnaryQueryOperator.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ParenthesizePropertyNameAttribute.cs
- FacetValues.cs
- TemplateColumn.cs
- CompiledELinqQueryState.cs
- BuildProvider.cs
- ContextInformation.cs
- FocusWithinProperty.cs
- MailDefinition.cs
- DispatcherExceptionEventArgs.cs
- SHA384CryptoServiceProvider.cs
- NamedPipeConnectionPoolSettingsElement.cs
- RNGCryptoServiceProvider.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- TextRange.cs
- ResourceAssociationSetEnd.cs
- RegexCaptureCollection.cs
- AmbientProperties.cs
- IncomingWebRequestContext.cs
- AsyncDataRequest.cs
- ReflectEventDescriptor.cs
- DependencyPropertyDescriptor.cs
- DrawingBrush.cs
- MailAddressParser.cs
- ImageMapEventArgs.cs
- SafeNativeMethods.cs
- ResetableIterator.cs
- ColorConvertedBitmapExtension.cs
- ThreadExceptionEvent.cs
- UInt64.cs
- CompatibleIComparer.cs
- TripleDESCryptoServiceProvider.cs
- SizeAnimationClockResource.cs
- SetIterators.cs
- CqlIdentifiers.cs
- BrowserCapabilitiesFactory35.cs
- QualificationDataAttribute.cs
- COM2Properties.cs
- ChtmlCalendarAdapter.cs
- HtmlTable.cs
- FolderLevelBuildProvider.cs
- ByeOperationCD1AsyncResult.cs
- ConnectionStringsExpressionBuilder.cs
- ParagraphResult.cs
- counter.cs
- CheckoutException.cs
- CurrencyManager.cs
- RegexRunnerFactory.cs
- SoapIncludeAttribute.cs
- CreateUserErrorEventArgs.cs
- TreeNodeCollection.cs
- NativeMethods.cs
- LostFocusEventManager.cs
- TableSectionStyle.cs
- Inline.cs
- Color.cs
- ErrorStyle.cs
- CompilerLocalReference.cs
- TypeDescriptorContext.cs
- VerticalAlignConverter.cs
- CachingHintValidation.cs
- PeerApplication.cs
- DefaultBindingPropertyAttribute.cs
- StringInfo.cs
- XmlNamespaceMappingCollection.cs
- Choices.cs
- MatrixTransform3D.cs
- PolygonHotSpot.cs
- CreateUserErrorEventArgs.cs
- WorkflowPageSetupDialog.cs
- TypeCollectionDesigner.xaml.cs
- DesignerAdRotatorAdapter.cs
- TcpConnectionPoolSettings.cs
- MenuItemCollection.cs
- xdrvalidator.cs
- SelectionPatternIdentifiers.cs
- DbFunctionCommandTree.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- InputLanguageSource.cs
- SecurityDocument.cs
- XmlCharCheckingWriter.cs
- DataGridHelper.cs
- ExpressionVisitor.cs
- RelationshipConverter.cs
- GB18030Encoding.cs
- SqlGatherConsumedAliases.cs
- TreeIterator.cs
- WebScriptEnablingElement.cs
- SoapHttpTransportImporter.cs
- PassportAuthenticationModule.cs
- Transactions.cs
- Int64AnimationUsingKeyFrames.cs
- DeploymentSectionCache.cs
- DataFieldCollectionEditor.cs
- SmiXetterAccessMap.cs
- SchemaNamespaceManager.cs
- DataServiceQueryException.cs