You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
171
external/referencesource/System.Web/Configuration/AuthenticationSection.cs
vendored
Normal file
171
external/referencesource/System.Web/Configuration/AuthenticationSection.cs
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="AuthenticationSection.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/*****************************************************************************
|
||||
From machine.config
|
||||
<!--
|
||||
authentication Attributes:
|
||||
mode="[Windows|Forms|Passport|None]"
|
||||
-->
|
||||
<authentication mode="Windows">
|
||||
|
||||
<!--
|
||||
forms Attributes:
|
||||
name="[cookie name]" - Name of the cookie used for Forms Authentication
|
||||
loginUrl="[url]" - Url to redirect client to for Authentication
|
||||
protection="[All|None|Encryption|Validation]" - Protection mode for data in cookie
|
||||
timeout="[minutes]" - Duration of time for cookie to be valid (reset on each request)
|
||||
path="/" - Sets the path for the cookie
|
||||
requireSSL="[true|false]" - Should the forms-authentication cookie be sent only over SSL
|
||||
slidingExpiration="[true|false]" - Should the forms-authentication-cookie and ticket be re-issued if they are about to expire
|
||||
defaultUrl="string" - Page to redirect to after login, if none has been specified
|
||||
cookieless="[UseCookies|UseUri|AutoDetect|UseDeviceProfile]" - Use Cookies or the URL path to store the forms authentication ticket
|
||||
domain="string" - Domain of the cookie
|
||||
-->
|
||||
<forms
|
||||
name=".ASPXAUTH"
|
||||
loginUrl="login.aspx"
|
||||
protection="All"
|
||||
timeout="30"
|
||||
path="/"
|
||||
requireSSL="false"
|
||||
slidingExpiration="true"
|
||||
defaultUrl="default.aspx"
|
||||
cookieless="UseDeviceProfile"
|
||||
enableCrossAppRedirects="false" >
|
||||
|
||||
<!--
|
||||
credentials Attributes:
|
||||
passwordFormat="[Clear|SHA1|MD5]" - format of user password value stored in <user>
|
||||
-->
|
||||
<credentials passwordFormat="SHA1">
|
||||
<!-- <user name="UserName" password="password" /> -->
|
||||
</credentials>
|
||||
|
||||
</forms>
|
||||
|
||||
<!--
|
||||
passport Attributes:
|
||||
redirectUrl=["url"] - Specifies the page to redirect to, if the page requires authentication, and the user has not signed on with passport
|
||||
-->
|
||||
<passport redirectUrl="internal" />
|
||||
|
||||
</authentication>
|
||||
|
||||
<authentication mode="Windows">
|
||||
<forms
|
||||
name=".ASPXAUTH"
|
||||
loginUrl="login.aspx"
|
||||
protection="All"
|
||||
timeout="30"
|
||||
path="/"
|
||||
requireSSL="false"
|
||||
slidingExpiration="true"
|
||||
defaultUrl="default.aspx"
|
||||
cookieless="UseDeviceProfile"
|
||||
enableCrossAppRedirects="false" >
|
||||
|
||||
<credentials passwordFormat="SHA1">
|
||||
</credentials>
|
||||
</forms>
|
||||
<passport redirectUrl="internal" />
|
||||
</authentication>
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
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 AuthenticationSection : ConfigurationSection {
|
||||
private static ConfigurationPropertyCollection _properties;
|
||||
private static readonly ConfigurationProperty _propForms =
|
||||
new ConfigurationProperty("forms", typeof(FormsAuthenticationConfiguration), null, ConfigurationPropertyOptions.None);
|
||||
#pragma warning disable 618
|
||||
// Dev10 570002: This property is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.
|
||||
private static readonly ConfigurationProperty _propPassport =
|
||||
new ConfigurationProperty("passport", typeof(PassportAuthentication), null, ConfigurationPropertyOptions.None);
|
||||
#pragma warning restore 618
|
||||
private static readonly ConfigurationProperty _propMode =
|
||||
new ConfigurationProperty("mode", typeof(AuthenticationMode), AuthenticationMode.Windows, ConfigurationPropertyOptions.None);
|
||||
|
||||
static AuthenticationSection() {
|
||||
// Property initialization
|
||||
_properties = new ConfigurationPropertyCollection();
|
||||
_properties.Add(_propForms);
|
||||
_properties.Add(_propPassport);
|
||||
_properties.Add(_propMode);
|
||||
}
|
||||
|
||||
private bool authenticationModeCached = false;
|
||||
private AuthenticationMode authenticationModeCache;
|
||||
|
||||
public AuthenticationSection() {
|
||||
}
|
||||
|
||||
protected override ConfigurationPropertyCollection Properties {
|
||||
get {
|
||||
return _properties;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("forms")]
|
||||
public FormsAuthenticationConfiguration Forms {
|
||||
get {
|
||||
return (FormsAuthenticationConfiguration)base[_propForms];
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("passport")]
|
||||
[Obsolete("This property is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
|
||||
public PassportAuthentication Passport {
|
||||
get {
|
||||
#pragma warning disable 618
|
||||
return (PassportAuthentication)base[_propPassport];
|
||||
#pragma warning restore 618
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("mode", DefaultValue = AuthenticationMode.Windows)]
|
||||
public AuthenticationMode Mode {
|
||||
get {
|
||||
if (authenticationModeCached == false) {
|
||||
authenticationModeCache = (AuthenticationMode)base[_propMode];
|
||||
authenticationModeCached = true;
|
||||
}
|
||||
return authenticationModeCache;
|
||||
}
|
||||
set {
|
||||
base[_propMode] = value;
|
||||
authenticationModeCache = value;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Reset(ConfigurationElement parentElement) {
|
||||
base.Reset(parentElement);
|
||||
authenticationModeCached = false;
|
||||
}
|
||||
|
||||
// this should only happen at runtime since the design time machine does not
|
||||
// need Passport installed to configure the server.
|
||||
internal void ValidateAuthenticationMode() {
|
||||
#pragma warning disable 618
|
||||
if (Mode == AuthenticationMode.Passport && UnsafeNativeMethods.PassportVersion() < 0) {
|
||||
#pragma warning restore 618
|
||||
throw new ConfigurationErrorsException(SR.GetString(SR.Passport_not_installed));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user