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