SessionAuthenticationModule.SessionSecurityTokenReceived Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возникает при считывании токена безопасности сеанса из файла cookie.
public:
event EventHandler<System::IdentityModel::Services::SessionSecurityTokenReceivedEventArgs ^> ^ SessionSecurityTokenReceived;
public event EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs> SessionSecurityTokenReceived;
member this.SessionSecurityTokenReceived : EventHandler<System.IdentityModel.Services.SessionSecurityTokenReceivedEventArgs>
Public Custom Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs)
Public Event SessionSecurityTokenReceived As EventHandler(Of SessionSecurityTokenReceivedEventArgs)
Тип события
Примеры
В следующем коде показан обработчик события, SessionSecurityTokenReceived реализованного в файле global.asax.cs веб-приложения ASP.NET. Необходимо также добавить обработчик в событие . Более полный пример приведен в обзорном SessionAuthenticationModule разделе.
void SessionAuthenticationModule_SessionSecurityTokenReceived(object sender, SessionSecurityTokenReceivedEventArgs e)
{
System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenReceived event");
}
Комментарии
Событие SessionSecurityTokenReceived вызывается из OnAuthenticateRequest метода после успешного считывания маркера сеанса (SessionSecurityToken) из файла cookie сеанса.
Это событие можно использовать для изменения свойств маркера сеанса перед его передачей дальше по конвейеру и для проверки подлинности сущности, выполняющего запрос (пользователя). Один из наиболее распространенных сценариев включает изменение срока действия сеанса (доступное через SessionSecurityToken.ValidTo свойство ), чтобы переопределить время окончания срока действия сеанса, заданное в конфигурации, с помощью lifetime
атрибута <элемента sessionTokenRequirement> . Изменив это свойство для каждого запроса, можно реализовать скользящий сеанс; то есть сеанс, в котором время существования продлевается каждый раз, когда пользователь обращается к сайту.
В обработчике событий доступ к маркеру можно получить через SessionSecurityTokenReceivedEventArgs.SessionToken свойство . После изменения маркера можно убедиться, что он будет записан обратно в файл cookie, задав для SessionSecurityTokenReceivedEventArgs.ReissueCookie параметра значение true
. Наконец, SessionSecurityTokenReceived событие является событием, которое можно отменить, и вы можете задать Cancel свойство SessionSecurityTokenReceivedEventArgs объекта , чтобы прервать дальнейшую обработку запроса.