Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
FormsAuthenticationConfiguration Class
Collapse the table of content
Expand the table of content

FormsAuthenticationConfiguration Class

Configures an ASP.NET application to use the AuthenticationMode forms modality.


Namespace:  System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)

public sealed class FormsAuthenticationConfiguration : ConfigurationElement

The FormsAuthenticationConfiguration type exposes the following members.

Public methodFormsAuthenticationConfigurationInfrastructure. Initializes a new instance of the FormsAuthenticationConfiguration class.

Public propertyCookielessGets or sets a value indicating whether forms-based authentication should use cookies.
Public propertyCredentialsGets the FormsAuthenticationCredentials collection of user names and passwords.
Public propertyCurrentConfigurationGets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement.)
Public propertyDefaultUrlGets or sets the default URL.
Public propertyDomainGets or sets the domain name to be sent with forms authentication cookies.
Public propertyElementInformationGets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected propertyElementPropertyGets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.)
Public propertyEnableCrossAppRedirectsGets or sets a value indicating whether authenticated users can be redirected to URLS in other applications.
Protected propertyItem[ConfigurationProperty]Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.)
Protected propertyItem[String]Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.)
Public propertyLockAllAttributesExceptGets the collection of locked attributes. (Inherited from ConfigurationElement.)
Public propertyLockAllElementsExceptGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockAttributesGets the collection of locked attributes (Inherited from ConfigurationElement.)
Public propertyLockElementsGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockItemGets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.)
Public propertyLoginUrlGets or sets the redirection URL for the request.
Public propertyNameGets or sets the cookie name.
Public propertyPathGets or sets the cookie path.
Protected propertyPropertiesGets the collection of properties. (Inherited from ConfigurationElement.)
Public propertyProtectionGets or sets the encryption type used to encrypt the cookie.
Public propertyRequireSSLGets or sets a value indicating whether a Secure Sockets Layer (SSL) connection is required when transmitting authentication information.
Public propertySlidingExpirationGets or sets the authentication sliding expiration.
Public propertyTicketCompatibilityModeGets or sets a value that indicates whether to use Coordinated Universal Time (UTC) or local time for the ticket expiration date.
Public propertyTimeoutGets or sets the authentication time-out.

Protected methodDeserializeElementReads XML from the configuration file. (Inherited from ConfigurationElement.)
Public methodEqualsCompares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.)
Public methodGetHashCodeGets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodInitSets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.)
Protected methodInitializeDefaultUsed to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected methodIsModifiedIndicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class. (Inherited from ConfigurationElement.)
Public methodIsReadOnlyGets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.)
Protected methodResetResets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.)
Protected methodResetModifiedResets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeElementWrites the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeToXmlElementWrites the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSetReadOnlySets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodUnmergeModifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)

The FormsAuthenticationConfiguration class provides a way to programmatically access and modify the forms element of a configuration authentication section.

This type is part of a group that includes the FormsAuthenticationCredentials,the FormsAuthenticationUserCollection, and the FormsAuthenticationUser types. The types other than the collection type directly affect the underlying configuration tags.


The FormsAuthenticationConfiguration can write information into the related section of the configuration file according to the restrictions defined by the section property AllowDefinition whose value is MachineToApplication. Any attempt to write in a configuration file at a level not allowed in the hierarchy will result in an error message generated by the parser. However, you can use this class to read configuration information at any level in the hierarchy. For safety and scalability, it is recommended that you use an external repository, such as a database, to keep the users' credentials.

The following code example shows how to obtain the FormsAuthenticationConfiguration object from the configuration file of an existing Web application. You can use this object to access its members. The configuration file will contain a setup similar to the following.

Note   If you use the credentials section, be sure to follow the guidelines explained at ASP.NET Authentication. For scalability and better security, it is recommended that you use an external database to store the users' credentials. For more information about building secure ASP.NET applications search the Microsoft MSDN Web site (msdn.microsoft.com) for "Securing Your ASP.NET Application" and "Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication."

<authentication mode="Forms">
  <forms name="MyAppCookie" loginUrl="login.aspx"
    protection="Encryption" timeout="5" path="aspnetTest"
    cookieless="UseCookies" domain="domainName">
    <credentials passwordFormat="SHA1">
      <user name="aspnetuser1"
       <user name="aspnetuser2"
            // Get the Web application configuration.
            System.Configuration.Configuration configuration = 

            // Get the external Authentication section.
            AuthenticationSection authenticationSection = 

            // Get the external Forms section .
            FormsAuthenticationConfiguration formsAuthentication =

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft