SessionSecurityToken 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义包含数据与会话相关的安全标记。
public ref class SessionSecurityToken : System::IdentityModel::Tokens::SecurityToken, System::Runtime::Serialization::ISerializable[System.Serializable]
public class SessionSecurityToken : System.IdentityModel.Tokens.SecurityToken, System.Runtime.Serialization.ISerializable[<System.Serializable>]
type SessionSecurityToken = class
    inherit SecurityToken
    interface ISerializablePublic Class SessionSecurityToken
Inherits SecurityToken
Implements ISerializable- 继承
- 属性
- 实现
注解
会话令牌存储 ClaimsPrincipal 与会话关联的用户的 ,以及定义会话的其他参数;例如会话开始时间和结束时间。
在被动方案中, WSFederationAuthenticationModule 从身份验证管道调用 SessionAuthenticationModule (SAM) ,以从 ClaimsPrincipal 表示经过身份验证的用户的 创建会话令牌。 SAM 使用其配置 SessionSecurityTokenHandler 来创建令牌并将其序列化为 cookie (,并在后续请求) 从 Cookie 反序列化令牌。 SAM 使用其配置 CookieHandler 类的实例将 Cookie 写回到 HTTP 响应。 然后,此 Cookie 将返回到客户端,在后续请求中,客户端可以提供 Cookie,而不是往返于标识提供者以重新获取安全令牌。 有关会话如何使用 WIF 运行的详细信息,请参阅 WIF 会话管理。 有关在 Web 场方案中使用会话的信息,请参阅 WIF 和 Web 场。
会话令牌可以在引用模式下运行,也可以不以引用模式运行。 如果会话令牌未在引用模式下运行,则整个令牌将序列化为存储在客户端上的会话 Cookie。 序列化的会话令牌可能非常大,因此存储在客户端上的 Cookie 也可以相当大。 在引用模式下,令牌不是将整个会话令牌序列化到 Cookie 中,而是存储在会话安全令牌缓存中,并且只有用于生成从缓存中检索令牌所需的密钥的信息存储在 Cookie 中。 这可以大大减少 Cookie 的大小。 会话令牌缓存由派生自 SessionSecurityTokenCache 的类实现,缓存密钥由 SessionSecurityTokenCacheKey 类实现。 和 ContextIdKeyGeneration 属性在 类中 SessionSecurityTokenCacheKey 用于生成缓存密钥。
属性 IsReferenceMode 确定会话令牌是否处于引用模式。
重要
若要在引用模式下运行,Microsoft 建议在 global.asax.cs 文件中为 WSFederationAuthenticationModule.SessionSecurityTokenCreated 事件提供处理程序,并在 属性中传递的令牌上设置 IsReferenceMode 属性 SessionSecurityTokenCreatedEventArgs.SessionToken 。 这将确保会话令牌在每个请求的引用模式下运行,并且优先于仅在会话身份验证模块上设置 SessionAuthenticationModule.IsReferenceMode 属性。
              SessionSecurityTokenHandler WIF 随附的类将会话令牌序列化为 WS-Secure Conversation <wsc:SecurityContextToken> 元素。
构造函数
属性
| ClaimsPrincipal | 获取与此会话关联的声明主体。 | 
| Context | 获取用户指定上下文的值。 | 
| ContextId | 获取会话上下文标识符。 | 
| EndpointId | 获取限定此标识范围的终点 ID。 | 
| Id | 获取此标记的唯一标识符。 | 
| IsPersistent | 获取或设置指示是否保留此标记表示的 Cookie 的值。 | 
| IsReferenceMode | 获取或设置指示引用安全令牌是否在会话模式下运行的值。 | 
| KeyEffectiveTime | 获取此安全令牌有效的时间。 | 
| KeyExpirationTime | 获取此安全令牌失效之后的有效的时间。 | 
| KeyGeneration | 获取该标记中用于密钥生成的标识符。 | 
| SecureConversationVersion | 获取一个 URI,标识用于序列化此会话安全令牌的 WS 安全会话的版本。 | 
| SecurityKeys | 获取与此会话关联的键 。 这通常是一个唯一密钥。 | 
| ValidFrom | 获取此标记有效的时间。 | 
| ValidTo | 获取时间不再有效之后的有效的时间。 | 
方法
| CanCreateKeyIdentifierClause<T>() | 获取一个值,该值指示此安全令牌能否创建指定的密钥标识符。(继承自 SecurityToken) | 
| CreateKeyIdentifierClause<T>() | 创建指定的密钥标识符子句。(继承自 SecurityToken) | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetObjectData(SerializationInfo, StreamingContext) | 设置需要序列化会话安全标记的信息 SerializationInfo。 | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MatchesKeyIdentifierClause(SecurityKeyIdentifierClause) | 返回一个值,该值指示此实例的密钥标识符能否解析为指定的密钥标识符。(继承自 SecurityToken) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ResolveKeyIdentifierClause(SecurityKeyIdentifierClause) | 为指定的密钥标识符子句获取密钥。(继承自 SecurityToken) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) |