|
//------------------------------------------------------------------------------
// <copyright file="PassportAuthentication.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;
[Obsolete("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
public sealed class PassportAuthentication : ConfigurationElement {
private static readonly ConfigurationElementProperty s_elemProperty =
new ConfigurationElementProperty(new CallbackValidator(typeof(PassportAuthentication), Validate));
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propRedirectUrl =
new ConfigurationProperty("redirectUrl", typeof(string), "internal", ConfigurationPropertyOptions.None);
static PassportAuthentication() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propRedirectUrl);
}
public PassportAuthentication() {
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("redirectUrl", DefaultValue = "internal")]
[StringValidator()]
public string RedirectUrl {
get {
return (string)base[_propRedirectUrl];
}
set {
base[_propRedirectUrl] = value;
}
}
protected override ConfigurationElementProperty ElementProperty {
get {
return s_elemProperty;
}
}
private static void Validate(object value) {
if (value == null) {
throw new ArgumentNullException("passport");
}
Debug.Assert(value is PassportAuthentication);
PassportAuthentication elem = (PassportAuthentication)value;
if (StringUtil.StringStartsWith(elem.RedirectUrl, "\\\\") ||
(elem.RedirectUrl.Length > 1 && elem.RedirectUrl[1] == ':')) {
throw new ConfigurationErrorsException(SR.GetString(SR.Auth_bad_url));
}
}
} // class PassportAuthentication
}
|