Бөлісу құралы:


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
Наследование
SessionSecurityToken
Атрибуты
Реализации

Комментарии

Маркер сеанса хранит 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)

Применяется к

См. также раздел