Share via


SecurityTokenServiceConfiguration 类

定义

定义安全象征服务的配置 (STS)。 实现 STSs 从 SecurityTokenService 类派生的类。

public ref class SecurityTokenServiceConfiguration : System::IdentityModel::Configuration::IdentityConfiguration
public class SecurityTokenServiceConfiguration : System.IdentityModel.Configuration.IdentityConfiguration
type SecurityTokenServiceConfiguration = class
    inherit IdentityConfiguration
Public Class SecurityTokenServiceConfiguration
Inherits IdentityConfiguration
继承
SecurityTokenServiceConfiguration

示例

主题中使用的 SecurityTokenService 代码示例取自示例 Custom Token 。 此示例提供了自定义类,这些类支持处理简单 Web 令牌 (SWT) ,它还包括能够为 SWT 令牌提供服务的被动 STS 的实现。 有关如何实现活动 STS 的示例,请参阅示例 Federation Metadata 。 有关这些示例和可用于 WIF 的其他示例以及下载位置的信息,请参阅 WIF 代码示例索引。 以下代码演示 类的 SecurityTokenServiceConfiguration 自定义实现,以支持处理 SWT 令牌的被动 STS。 首次访问静态 Current 属性时,将初始化配置并将其存储在 HTTP 应用程序状态中。 构造函数使用自定义 STS 的类型、自定义颁发者令牌解析程序以及默认令牌类型初始化自定义配置的属性, (SWT 令牌类型的 URI) 。 它还将 SWT 令牌处理程序添加到默认处理程序集合。

namespace PassiveSTS
{
    /// <summary>
    /// Extends the Microsoft.IdentityModel.Services.SecurityTokenServiceConfiguration class to 
    /// be consumed by the CustomSecurityTokenService.
    /// </summary>
    public class CustomSecurityTokenServiceConfiguration : SecurityTokenServiceConfiguration
    {
        static readonly object syncRoot = new object();
        static string CustomSecurityTokenServiceConfigurationKey = "CustomSecurityTokenServiceConfigurationKey";
        static string Base64SymmetricKey = "wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=";

        public static CustomSecurityTokenServiceConfiguration Current
        {
            get
            {
                HttpApplicationState httpAppState = HttpContext.Current.Application;

                CustomSecurityTokenServiceConfiguration myConfiguration = httpAppState.Get(CustomSecurityTokenServiceConfigurationKey) as CustomSecurityTokenServiceConfiguration;

                if (myConfiguration != null)
                {
                    return myConfiguration;
                }

                lock (syncRoot)
                {
                    myConfiguration = httpAppState.Get(CustomSecurityTokenServiceConfigurationKey) as CustomSecurityTokenServiceConfiguration;

                    if (myConfiguration == null)
                    {
                        myConfiguration = new CustomSecurityTokenServiceConfiguration();
                        httpAppState.Add(CustomSecurityTokenServiceConfigurationKey, myConfiguration);
                    }

                    return myConfiguration;
                }
            }
        }

        public CustomSecurityTokenServiceConfiguration()
            : base("PassiveSTS")
        { }
    }
}

以下代码演示如何调用自定义被动 STS,通过从 文件中的代码default.aspx.cs调用 FederatedPassiveSecurityTokenServiceOperations.ProcessRequest(HttpRequest, ClaimsPrincipal, SecurityTokenService, HttpResponse) 方法来处理 WS-Federation 请求。 方法 CreateSecurityTokenService 使用上一示例中所示的 PassiveSTS.CustomSecurityTokenService 类上 CustomSecurityTokenServiceConfiguration 设置的属性初始化 类的实例。

using System;
using System.IdentityModel.Services;
using System.Security.Claims;

namespace PassiveSTS
{
    public partial class _Default : System.Web.UI.Page
    {
        /// <summary>
        /// We perform the WS-Federation Passive Protocol processing in this method. 
        /// </summary>
        protected void Page_PreRender( object sender, EventArgs e ) 
        {
            FederatedPassiveSecurityTokenServiceOperations.ProcessRequest( Request, User as ClaimsPrincipal, CustomSecurityTokenServiceConfiguration.Current.CreateSecurityTokenService(), Response );
        }
    }
}

构造函数

SecurityTokenServiceConfiguration()

初始化 SecurityTokenServiceConfiguration 类的新实例。

SecurityTokenServiceConfiguration(Boolean)

初始化 SecurityTokenServiceConfiguration 类的新实例。 从当前配置选择性加载设置。

SecurityTokenServiceConfiguration(String)

初始化 SecurityTokenServiceConfiguration 类的一个新实例,该类具有指定的颁发人名。

SecurityTokenServiceConfiguration(String, Boolean)

初始化 SecurityTokenServiceConfiguration 类的一个新实例,该类具有指定的颁发人名。 从当前配置选择性加载设置。

SecurityTokenServiceConfiguration(String, SigningCredentials)

初始化具有指定颁发人名称和签名凭据的 SecurityTokenServiceConfiguration 类的新实例。

SecurityTokenServiceConfiguration(String, SigningCredentials, Boolean)

初始化具有指定颁发人名称和签名凭据的 SecurityTokenServiceConfiguration 类的新实例。 从当前配置选择性加载设置。

SecurityTokenServiceConfiguration(String, SigningCredentials, String)

初始化具有指定颁发人名称和签名凭据的 SecurityTokenServiceConfiguration 类的新实例。 设置从指定命名配置中加载。

字段

DefaultServiceName

默认值服务名称;空字符串。

(继承自 IdentityConfiguration)

属性

AudienceRestriction

获取或设置配置的 AudienceRestriction

(继承自 IdentityConfiguration)
Caches

获取或设置配置的 IdentityModelCaches

(继承自 IdentityConfiguration)
CertificateValidationMode

获取或设置处理程序用来验证颁发者证书的证书验证模式。

(继承自 IdentityConfiguration)
CertificateValidator

获取或设置处理程序用来验证颁发者证书的 X.509 证书验证程序。

(继承自 IdentityConfiguration)
ClaimsAuthenticationManager

获取或设置声明身份验证管理器。 默认值是 ClaimsAuthenticationManager 类的实例。

(继承自 IdentityConfiguration)
ClaimsAuthorizationManager

获取或设置声明授权管理器。

(继承自 IdentityConfiguration)
DefaultMaxSymmetricKeySizeInBits

获取或设置如果选中,则请求中指定的 KeySize 是否位于此限制内的默认密钥大小。

DefaultSymmetricKeySizeInBits

获取或设置颁发的令牌中使用的默认密钥大小(位)。

DefaultTokenLifetime

获取或设置颁发的令牌中使用的默认生命周期。

DefaultTokenType

获取或设置令牌颁发中使用的默认令牌类型。

DetectReplayedTokens

获取或设置默认处理程序配置中的值,该配置指示处理程序是否应检测重播的标记。

(继承自 IdentityConfiguration)
DisableWsdl

获取或设置一个值,该值指定是否应为安全标记服务 (STS)启用启用 WSDL 生成。

IsInitialized

获取或设置一个值,该值指示是否已调用 Initialize() 方法。

(继承自 IdentityConfiguration)
IssuerNameRegistry

获取或设置用于解析颁发者名称的颁发者名称注册表。

(继承自 IdentityConfiguration)
IssuerTokenResolver

获取或设置颁发者标识解析器。

(继承自 IdentityConfiguration)
MaxClockSkew

获取或设置通信双方的系统时钟之间允许的最大时间差异。

(继承自 IdentityConfiguration)
MaximumTokenLifetime

获取或设置已颁发标识的最大标识生存期。

Name

获取配置服务器的名称。

(继承自 IdentityConfiguration)
RevocationMode

获取或设置处理程序用来验证颁发者证书的吊销模式。

(继承自 IdentityConfiguration)
SaveBootstrapContext

获取或设置一个值,该值指示令牌验证后 BootstrapContext 对象是否保存在 ClaimsIdentity 和会话中。

(继承自 IdentityConfiguration)
SecurityTokenHandlerCollectionManager

获取 SecurityTokenHandlerCollectionManager 包含用来序列化和验证在 WS-Trust 消息中找到的标记的 SecurityTokenHandler 对象集。

(继承自 IdentityConfiguration)
SecurityTokenHandlers

获取 SecurityTokenHandler 对象的集合,这些对象用于序列化和验证 WS-Trust 消息中发现的令牌。

(继承自 IdentityConfiguration)
SecurityTokenService

获取或设置安全标记服务 (STS) 的 Type

ServiceCertificate

获取或设置服务的证书。

(继承自 IdentityConfiguration)
ServiceTokenResolver

获取或设置服务令牌解析程序。

(继承自 IdentityConfiguration)
SigningCredentials

获取或设置签名凭据。

TokenIssuerName

获取或设置颁发者名称,以便在已颁发令牌中设置它。

TokenReplayCacheExpirationPeriod

获取或设置 TokenReplayCache 中放置项目的到期期限。

(继承自 IdentityConfiguration)
TrustedStoreLocation

获取或设置处理程序用来验证颁发者证书的受信任存储位置。

(继承自 IdentityConfiguration)
WSTrust13RequestSerializer

获取或设置 WS-Trust 1.3 请求 (RST) 序列化程序。

WSTrust13ResponseSerializer

获取或设置 WS-Trust 1.3 响应 (RSTR) 序列化程序。

WSTrustFeb2005RequestSerializer

获取或设置 WS-Trust Feb 2005 请求 (RST) 序列化程序。

WSTrustFeb2005ResponseSerializer

获取或设置 WS-Trust Feb 2005 响应 (RSTR) 序列化程序。

方法

CreateSecurityTokenService()

Type 属性中指定的 SecurityTokenService 创建安全标记服务 (STS) 实例。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize()

针对在要与在此 SecurityTokenHandlerConfiguration 实例上的属性值一致的 SecurityTokenHandlerCollection 中包含的 SecurityTokenHandlerCollectionManager 对象,更新 IdentityConfiguration 对象中的属性。

(继承自 IdentityConfiguration)
LoadConfiguration(IdentityConfigurationElement)

从应用程序或 Web 配置文件加载 IdentityConfiguration 实例的设置。

(继承自 IdentityConfiguration)
LoadHandlerConfiguration(IdentityConfigurationElement)

使用直接在指定的SecurityTokenHandlerConfiguration下的元素加载 IdentityConfigurationElement

(继承自 IdentityConfiguration)
LoadHandlerConfiguration(SecurityTokenHandlerConfiguration, SecurityTokenHandlerConfigurationElement)

加载有关 SecurityTokenHandlerCollection 的配置元素。

(继承自 IdentityConfiguration)
LoadHandlers(IdentityConfigurationElement)

加载为指定服务定义的 SecurityTokenHandlerCollectionManager

(继承自 IdentityConfiguration)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅