SessionSecurityToken Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет маркер безопасности, содержащий данные, связанные с сеансом.
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 ISerializable
Public Class SessionSecurityToken
Inherits SecurityToken
Implements ISerializable
- Наследование
- Атрибуты
- Реализации
Комментарии
Маркер сеанса хранит ClaimsPrincipal пользователя, связанного с сеансом, а также другие параметры, определяющие сеанс, например время начала и окончания сеанса.
В пассивных сценариях WSFederationAuthenticationModule вызовы в SessionAuthenticationModule конвейер проверки подлинности (SAM) создают маркер сеанса из ClaimsPrincipal объекта, представляющего прошедшего проверку подлинности пользователя. SAM использует настроенный SessionSecurityTokenHandler для создания маркера и сериализации его в файл cookie (и десериализации маркера из файла cookie при последующих запросах). SAM использует экземпляр настроенного CookieHandler класса для записи файла cookie обратно в HTTP-ответ. Затем этот файл cookie возвращается клиенту и при последующих запросах клиент может представить файл cookie, а не вернуться к поставщику удостоверений для повторного получения маркера безопасности. Дополнительные сведения о работе сеансов с WIF см. в разделе "Управление сеансами WIF". Сведения об использовании сеансов в сценариях веб-фермы см. в разделе WIF и веб-фермы.
Маркер сеанса может работать в режиме ссылки или нет. Если маркер сеанса не работает в режиме ссылки, весь маркер сериализуется в файл cookie сеанса, хранящийся на клиенте. Сериализованный маркер сеанса может быть довольно большим, поэтому файл cookie, хранящийся на клиенте, также может быть достаточно большим. В эталонном режиме, а не сериализации всего маркера сеанса в файл cookie, маркер хранится в кэше маркера безопасности сеанса, а только сведения, используемые для создания ключа, необходимого для получения маркера из кэша, хранятся в файле cookie. Это может значительно уменьшить размер файла cookie. Кэш маркеров сеанса реализуется классом, производным от SessionSecurityTokenCache класса, и ключ кэша реализуется классом SessionSecurityTokenCacheKey . KeyGeneration Свойства ContextId используются в SessionSecurityTokenCacheKey классе для создания ключа кэша.
Свойство IsReferenceMode определяет, находится ли маркер сеанса в режиме ссылки или нет.
Это важно
Чтобы работать в эталонном режиме, корпорация Майкрософт рекомендует предоставить обработчик события WSFederationAuthenticationModule.SessionSecurityTokenCreated в файле global.asax.cs и задать IsReferenceMode свойство маркера, переданного в свойстве SessionSecurityTokenCreatedEventArgs.SessionToken . Это гарантирует, что маркер сеанса работает в режиме ссылки для каждого запроса и предпочитается просто задать SessionAuthenticationModule.IsReferenceMode свойство в модуле проверки подлинности сеанса.
Класс SessionSecurityTokenHandler , предоставленный WIF, сериализует маркер сеанса в виде элемента WS-Secure Conversation <wsc:SecurityContextToken> .
Конструкторы
| Имя | Описание |
|---|---|
| SessionSecurityToken(ClaimsPrincipal, String, Nullable<DateTime>, Nullable<DateTime>) |
Инициализирует новый экземпляр класса из указанного SessionSecurityToken субъекта и маркера начальной загрузки, а также с указанным временем начала и истечением срока действия. |
| SessionSecurityToken(ClaimsPrincipal, String, String, Nullable<DateTime>, Nullable<DateTime>) |
Инициализирует новый экземпляр класса из указанного SessionSecurityToken субъекта и маркера начальной загрузки, а также с указанным временем начала и истечением срока действия. Новый маркер ограничен указанной конечной точкой. |
| SessionSecurityToken(ClaimsPrincipal, String) |
Инициализирует новый экземпляр класса из указанного SessionSecurityToken субъекта и маркера начальной загрузки. |
| SessionSecurityToken(ClaimsPrincipal, TimeSpan) |
Инициализирует новый экземпляр класса из указанного SessionSecurityToken субъекта. Новый маркер действителен до UtcNow указанного времени существования. |
| SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, DateTime, TimeSpan, SymmetricSecurityKey) |
Инициализирует новый экземпляр класса с помощью указанного субъекта, идентификатора контекста, контекста, конечной точки, допустимой SessionSecurityToken метки времени, времени существования и ключа. |
| SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, Nullable<DateTime>, Nullable<DateTime>, SymmetricSecurityKey) |
Инициализирует новый экземпляр класса с помощью указанного субъекта, идентификатора контекста, контекста, конечной SessionSecurityToken точки, времени начала, срока действия и ключа. |
| SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, TimeSpan, SymmetricSecurityKey) |
Инициализирует новый экземпляр класса с помощью указанного субъекта, идентификатора контекста, контекста, конечной SessionSecurityToken точки, времени существования и ключа. |
| SessionSecurityToken(ClaimsPrincipal) |
Инициализирует новый экземпляр класса из указанного SessionSecurityToken субъекта. |
| SessionSecurityToken(SerializationInfo, StreamingContext) |
Инициализирует новый экземпляр SessionSecurityToken класса сериализованными данными. |
Свойства
| Имя | Описание |
|---|---|
| ClaimsPrincipal |
Возвращает субъект утверждений, связанный с сеансом. |
| Context |
Возвращает указанное пользователем значение контекста. |
| ContextId |
Возвращает идентификатор контекста сеанса. |
| EndpointId |
Возвращает идентификатор конечной точки, к которой применяется этот маркер. |
| Id |
Возвращает уникальный идентификатор этого маркера. |
| IsPersistent |
Возвращает или задает значение, указывающее, является ли файл cookie, представленный этим маркером, постоянным. |
| IsReferenceMode |
Возвращает или задает значение, указывающее, работает ли маркер безопасности сеанса в эталонном режиме. |
| KeyEffectiveTime |
Получает момент времени, из которого ключ в этом маркере действителен. |
| KeyExpirationTime |
Возвращает момент времени, после которого ключ в этом токене больше не действителен. |
| KeyGeneration |
Возвращает идентификатор для создания ключей в этом токене. |
| SecureConversationVersion |
Возвращает URI, определяющий версию WS-Secure беседы, которая используется для сериализации этого маркера безопасности сеанса. |
| 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) |