You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
338
external/referencesource/System.Web/Configuration/RoleManagerSection.cs
vendored
Normal file
338
external/referencesource/System.Web/Configuration/RoleManagerSection.cs
vendored
Normal file
@ -0,0 +1,338 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="RoleManagerSection.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
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.ComponentModel;
|
||||
using System.Web.Security; // for CookieProtection Enum
|
||||
using System.Security.Permissions;
|
||||
|
||||
/* <!-- Configuration for roleManager:
|
||||
enabled="[true|false]" Feature is enabled?
|
||||
cacheRolesInCookie="[true|false]" Cache roles in cookie?
|
||||
cookieName=".ASPXROLES" Cookie Name
|
||||
createPersistentCookie="[true|false]" Creates a persistent cookie or session cookie?
|
||||
cookieTimeout="30" Cookie Timeout
|
||||
cookiePath="/" Cookie Path
|
||||
cookieRequireSSL="[true|false]" Set Secure bit in Cookie
|
||||
cookieSlidingExpiration="[true|false]" Reissue expiring cookies?
|
||||
cookieProtection="[None|Validation|Encryption|All]" How to protect cookies from being read/tampered
|
||||
defaultProvider="string" Name of provider to use by default
|
||||
domain="[domain]" Enables output of the "domain" cookie attribute set to the specified value
|
||||
maxCachedResults="int" Maximum number of roles to cache in cookie
|
||||
Child nodes:
|
||||
<providers> Providers (class must inherit from RoleProvider)
|
||||
|
||||
<add Add a provider
|
||||
name="string" Name to identify this provider instance by
|
||||
type="string" Class that implements RoleProvider
|
||||
provider-specific-configuration />
|
||||
|
||||
<remove Remove a provider
|
||||
name="string" /> Name of provider to remove
|
||||
<clear/> Remove all providers
|
||||
</providers>
|
||||
|
||||
|
||||
<providers> type="TypeName" Class that inherits from System.Web.Security.RoleProvider
|
||||
providerSpecificConfig Config for the provider
|
||||
|
||||
|
||||
Configuration for SqlRoleProvider and AccessRoleProvider:
|
||||
connectionStringName="string" Name corresponding to the entry in <connectionStrings> section where the connection string for the provider is specified
|
||||
description="string" Description of what the provider does
|
||||
commandTimeout="int" Command timeout value for SQL command
|
||||
|
||||
Configuration for AuthorizationStoreProvider:
|
||||
connectionStringName="string" Name corresponding to the entry in <connectionStrings> section where the connection string for the provider is specified
|
||||
description="string" Description of what the provider does
|
||||
cacheRefreshInterval="int" The number of minutes between forced refreshes of the cached policy store data
|
||||
|
||||
Configuration for WindowsTokenRoleProvider:
|
||||
description="string" Description of what the provider does
|
||||
-->
|
||||
|
||||
|
||||
<roleManager
|
||||
enabled="false" cacheRolesInCookie="false" cookieName=".ASPXROLES" cookieTimeout="30"
|
||||
cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" createPersistentCookie="false"
|
||||
cookieProtection="All" defaultProvider="AspNetSqlRoleProvider" domain="" >
|
||||
<providers>
|
||||
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%"
|
||||
connectionStringName="LocalSqlServer"
|
||||
applicationName="/"
|
||||
description="Stores and retrieves roles data from the local Microsoft SQL Server database" />
|
||||
|
||||
<add name="AspNetWindowsTokenRoleProvider"
|
||||
type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%"
|
||||
description="Retrieves roles data from the Windows authenticated token for the request" />
|
||||
|
||||
|
||||
<add name="AspNetAuthorizationStoreRoleProvider"
|
||||
type="System.Web.Security.AuthorizationRoleProvider, System.Web, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%"
|
||||
connectionStringName="AuthorizationStore"
|
||||
cacheRefreshInterval="60"
|
||||
applicationName="MyApplication"
|
||||
scopeName="MyScope"
|
||||
description="Stores and retrieves roles data from the authorization store" />
|
||||
</providers>
|
||||
|
||||
</roleManager>
|
||||
*/
|
||||
public sealed class RoleManagerSection : ConfigurationSection {
|
||||
private static ConfigurationPropertyCollection _properties;
|
||||
private static readonly ConfigurationProperty _propEnabled =
|
||||
new ConfigurationProperty("enabled",
|
||||
typeof(bool),
|
||||
false,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propUseCookies =
|
||||
new ConfigurationProperty("cacheRolesInCookie",
|
||||
typeof(bool),
|
||||
false,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookieName =
|
||||
new ConfigurationProperty("cookieName",
|
||||
typeof(string),
|
||||
".ASPXROLES",
|
||||
StdValidatorsAndConverters.WhiteSpaceTrimStringConverter,
|
||||
StdValidatorsAndConverters.NonEmptyStringValidator,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookieTimeout =
|
||||
new ConfigurationProperty("cookieTimeout",
|
||||
typeof(TimeSpan),
|
||||
TimeSpan.FromMinutes(30.0),
|
||||
StdValidatorsAndConverters.TimeSpanMinutesOrInfiniteConverter,
|
||||
StdValidatorsAndConverters.PositiveTimeSpanValidator,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookiePath =
|
||||
new ConfigurationProperty("cookiePath",
|
||||
typeof(string),
|
||||
"/",
|
||||
StdValidatorsAndConverters.WhiteSpaceTrimStringConverter,
|
||||
StdValidatorsAndConverters.NonEmptyStringValidator,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookieRequireSSL =
|
||||
new ConfigurationProperty("cookieRequireSSL",
|
||||
typeof(bool),
|
||||
false,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookieSlidingExpiration =
|
||||
new ConfigurationProperty("cookieSlidingExpiration",
|
||||
typeof(bool),
|
||||
true,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCookieProtection =
|
||||
new ConfigurationProperty("cookieProtection",
|
||||
typeof(CookieProtection),
|
||||
CookieProtection.All,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propDefaultProvider =
|
||||
new ConfigurationProperty("defaultProvider",
|
||||
typeof(string),
|
||||
"AspNetSqlRoleProvider",
|
||||
null,
|
||||
StdValidatorsAndConverters.NonEmptyStringValidator,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propProviders =
|
||||
new ConfigurationProperty("providers",
|
||||
typeof(ProviderSettingsCollection),
|
||||
null,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propCreatePersistentCookie =
|
||||
new ConfigurationProperty("createPersistentCookie",
|
||||
typeof(bool),
|
||||
false,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propDomain =
|
||||
new ConfigurationProperty("domain",
|
||||
typeof(string),
|
||||
null,
|
||||
ConfigurationPropertyOptions.None);
|
||||
private static readonly ConfigurationProperty _propMaxCachedResults =
|
||||
new ConfigurationProperty("maxCachedResults",
|
||||
typeof(int),
|
||||
25,
|
||||
ConfigurationPropertyOptions.None);
|
||||
|
||||
private enum InheritedType {
|
||||
inNeither = 0,
|
||||
inParent = 1,
|
||||
inSelf = 2,
|
||||
inBothSame = 3,
|
||||
inBothDiff = 4,
|
||||
}
|
||||
|
||||
static RoleManagerSection() {
|
||||
// Property initialization
|
||||
_properties = new ConfigurationPropertyCollection();
|
||||
_properties.Add(_propEnabled);
|
||||
_properties.Add(_propUseCookies);
|
||||
_properties.Add(_propCookieName);
|
||||
_properties.Add(_propCookieTimeout);
|
||||
_properties.Add(_propCookiePath);
|
||||
_properties.Add(_propCookieRequireSSL);
|
||||
_properties.Add(_propCookieSlidingExpiration);
|
||||
_properties.Add(_propCookieProtection);
|
||||
_properties.Add(_propDefaultProvider);
|
||||
_properties.Add(_propProviders);
|
||||
_properties.Add(_propCreatePersistentCookie);
|
||||
_properties.Add(_propDomain);
|
||||
_properties.Add(_propMaxCachedResults);
|
||||
}
|
||||
|
||||
public RoleManagerSection() {
|
||||
}
|
||||
|
||||
protected override ConfigurationPropertyCollection Properties {
|
||||
get {
|
||||
return _properties;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("enabled", DefaultValue = false)]
|
||||
public bool Enabled {
|
||||
get {
|
||||
return (bool)base[_propEnabled];
|
||||
}
|
||||
set {
|
||||
base[_propEnabled] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("createPersistentCookie", DefaultValue = false)]
|
||||
public bool CreatePersistentCookie {
|
||||
get {
|
||||
return (bool)base[_propCreatePersistentCookie];
|
||||
}
|
||||
set {
|
||||
base[_propCreatePersistentCookie] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cacheRolesInCookie", DefaultValue = false)]
|
||||
public bool CacheRolesInCookie {
|
||||
get {
|
||||
return (bool)base[_propUseCookies];
|
||||
}
|
||||
set {
|
||||
base[_propUseCookies] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookieName", DefaultValue = ".ASPXROLES")]
|
||||
[TypeConverter(typeof(WhiteSpaceTrimStringConverter))]
|
||||
[StringValidator(MinLength = 1)]
|
||||
public string CookieName {
|
||||
get {
|
||||
return (string)base[_propCookieName];
|
||||
}
|
||||
set {
|
||||
base[_propCookieName] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookieTimeout", DefaultValue = "00:30:00")]
|
||||
[TypeConverter(typeof(TimeSpanMinutesOrInfiniteConverter))]
|
||||
[TimeSpanValidator(MinValueString="00:00:00", MaxValueString=TimeSpanValidatorAttribute.TimeSpanMaxValue)]
|
||||
public TimeSpan CookieTimeout {
|
||||
get {
|
||||
return (TimeSpan)base[_propCookieTimeout];
|
||||
}
|
||||
set {
|
||||
base[_propCookieTimeout] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookiePath", DefaultValue = "/")]
|
||||
[TypeConverter(typeof(WhiteSpaceTrimStringConverter))]
|
||||
[StringValidator(MinLength = 1)]
|
||||
public string CookiePath {
|
||||
get {
|
||||
return (string)base[_propCookiePath];
|
||||
}
|
||||
set {
|
||||
base[_propCookiePath] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookieRequireSSL", DefaultValue = false)]
|
||||
public bool CookieRequireSSL {
|
||||
get {
|
||||
return (bool)base[_propCookieRequireSSL];
|
||||
}
|
||||
set {
|
||||
base[_propCookieRequireSSL] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookieSlidingExpiration", DefaultValue = true)]
|
||||
public bool CookieSlidingExpiration {
|
||||
get {
|
||||
return (bool)base[_propCookieSlidingExpiration];
|
||||
}
|
||||
set {
|
||||
base[_propCookieSlidingExpiration] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("cookieProtection", DefaultValue = CookieProtection.All)]
|
||||
public CookieProtection CookieProtection {
|
||||
get {
|
||||
return (CookieProtection)base[_propCookieProtection];
|
||||
}
|
||||
set {
|
||||
base[_propCookieProtection] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("defaultProvider", DefaultValue = "AspNetSqlRoleProvider")]
|
||||
[TypeConverter(typeof(WhiteSpaceTrimStringConverter))]
|
||||
[StringValidator(MinLength = 1)]
|
||||
public string DefaultProvider {
|
||||
get {
|
||||
return (string)base[_propDefaultProvider];
|
||||
}
|
||||
set {
|
||||
base[_propDefaultProvider] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("providers")]
|
||||
public ProviderSettingsCollection Providers {
|
||||
get {
|
||||
return (ProviderSettingsCollection)base[_propProviders];
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("domain")]
|
||||
public string Domain {
|
||||
get {
|
||||
return (string)base[_propDomain];
|
||||
}
|
||||
set {
|
||||
base[_propDomain] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("maxCachedResults", DefaultValue = 25)]
|
||||
public int MaxCachedResults {
|
||||
get {
|
||||
return (int)base[_propMaxCachedResults];
|
||||
}
|
||||
set {
|
||||
base[_propMaxCachedResults] = value;
|
||||
}
|
||||
}
|
||||
} // class RoleManagerSection
|
||||
}
|
Reference in New Issue
Block a user