WSFederationAuthenticationModule.OnAuthenticateRequest Метод

Определение

AuthenticateRequest Обрабатывает событие из конвейера ASP.NET.

protected:
 virtual void OnAuthenticateRequest(System::Object ^ sender, EventArgs ^ args);
protected virtual void OnAuthenticateRequest (object sender, EventArgs args);
abstract member OnAuthenticateRequest : obj * EventArgs -> unit
override this.OnAuthenticateRequest : obj * EventArgs -> unit
Protected Overridable Sub OnAuthenticateRequest (sender As Object, args As EventArgs)

Параметры

sender
Object

Источник события. Это будет объект HttpApplication.

args
EventArgs

Данные для события.

Комментарии

Метод OnAuthenticateRequest реализует конвейер обработки запросов WS-Federation. Он добавляется в HttpApplication.AuthenticateRequest событие в конвейере ASP.NET методом InitializeModule .

Метод выполняет следующие действия:

  1. Вызывает метод , CanReadSignInResponse(HttpRequestBase) чтобы определить, получено ли WS-Federation ответное сообщение о входе ("wsignin1.0"). Если ответ является запросом на очистку WS-Federation выхода ("wsignoutcleanup1.0"), CanReadSignInResponse(HttpRequestBase) обрабатывает сообщение, завершает запрос и перенаправляет клиент в соответствии с параметрами WS-Federation в запросе. Если сообщение не является ответом входа или запросом на очистку выхода, модуль просто возвращается. В противном случае для обработки ответа на вход выполняется следующее.

  2. Вызывает метод для десериализации GetSecurityToken(HttpRequestBase)SecurityToken объекта из запроса.

  3. Вызывает событие SecurityTokenReceived. Вы можете отменить дальнейшую обработку или изменить полученный маркер безопасности в обработчике для этого события. Обработчик обычно используется для изменения SecurityToken.ValidFrom свойств или SecurityToken.ValidTo .

  4. Проверяет маркер безопасности и создает объект на основе ClaimsPrincipal утверждений в маркере безопасности.

  5. Вызывает событие SecurityTokenValidated. Вы можете отменить дальнейшую обработку или изменить субъект утверждений в обработчике для этого события.

  6. Использует настроенный модуль проверки подлинности сеанса (SAM) для создания SessionSecurityToken объекта. (Настроенный SAM — это объект, SessionAuthenticationModule возвращаемый свойством FederatedAuthentication.SessionAuthenticationModule .) Маркер сеанса создается с помощью субъекта утверждений, возвращенного на шаге 5. SessionSecurityToken.ValidFrom Свойства и SessionSecurityToken.ValidTo задаются с помощью ValidFrom свойств и ValidTo объекта , возвращенных SecurityToken на шаге 3, и проверяются на соответствие текущему времени и времени существования маркера, заданным свойством DefaultTokenLifetimeSessionSecurityTokenHandler или TokenLifetime объекта в коллекции обработчиков маркеров, используемой WSFAM. Время существования маркера в обработчике маркеров сеанса можно указать в конфигурации с помощью <элемента sessionTokenRequirement> . Примечание. Свойство PersistentSessionLifetime обработчика файлов cookie, настроенного для SAM, не используется.

  7. SetPrincipalAndWriteSessionToken Вызывает метод с маркером сеанса для записи файла cookie сеанса. Метод SetPrincipalAndWriteSessionToken сначала вызывает SessionSecurityTokenCreated событие . Вы можете изменить свойства маркера сеанса или изменить, следует ли сохранять файл cookie в обработчике для этого события. После возникновения события метод записывает файл cookie с помощью SAM.

    Примечание

    Набор SessionSecurityTokenHandler в конфигурации не используется для записи файла cookie.

  8. OnSignedIn Вызывает метод для вызова SignedIn события.

  9. Вызывает метод , GetReturnUrlFromResponse чтобы получить страницу RP, на которую перенаправляется клиент. По умолчанию этот метод считывает возвращаемый URL-адрес из параметра wctx в ответе на вход. Дополнительные сведения о том, как WSFAM сохраняет возвращаемый URL-адрес, см. в методе CreateSignInRequest .

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