SecurityTokenServiceConfiguration 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义安全象征服务的配置 (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
- 继承
示例
主题中使用的 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使用上一示例中所示的类上CustomSecurityTokenServiceConfiguration
设置的属性初始化 类的实例PassiveSTS.CustomSecurityTokenService
。
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) |