다음을 통해 공유


WSFederationAuthenticationModule.OnAuthenticateRequest 메서드

정의

ASP.NET 파이프라인에서 이벤트를 처리합니다 AuthenticateRequest .

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.ValidTo 속성을 수정 SecurityToken.ValidFrom 하는 데 사용됩니다.

  4. 보안 토큰의 유효성을 검사하고 보안 토큰의 클레임에서 개체를 만듭니다 ClaimsPrincipal .

  5. SecurityTokenValidated 이벤트를 발생시킵니다. 이 이벤트에 대한 처리기에서 추가 처리를 취소하거나 클레임 주체를 수정할 수 있습니다.

  6. 구성된 SAM(세션 인증 모듈)을 사용하여 개체를 만듭니다 SessionSecurityToken . (구성된 SAM은 속성에서 SessionAuthenticationModule 반환되는 FederatedAuthentication.SessionAuthenticationModule 개체입니다.) 세션 토큰은 5단계에서 반환된 클레임 주체를 사용하여 만들어집니다. 및 속성은 SessionSecurityToken.ValidFrom 3단계에서 반환된 의 SecurityTokenValidTo 속성을 사용하여 ValidFrom 설정되며, WSFAM에서 사용되는 토큰 처리기 컬렉션에서 개체의 SessionSecurityTokenHandler 또는 TokenLifetime 속성에 지정된 DefaultTokenLifetime 현재 시간 및 토큰 수명에 대해 유효성을 검사합니다.SessionSecurityToken.ValidTo 세션 토큰 처리기의 토큰 수명은 sessionTokenRequirement> 요소를 통해 구성에서< 지정할 수 있습니다. 참고: PersistentSessionLifetime SAM에 대해 구성된 쿠키 처리기의 속성은 사용되지 않습니다.

  7. 세션 토큰을 사용하여 SetPrincipalAndWriteSessionToken 메서드를 호출하여 세션 쿠키를 작성합니다. 메서드는 SetPrincipalAndWriteSessionToken 먼저 이벤트를 발생합니다 SessionSecurityTokenCreated . 세션 토큰의 속성을 변경하거나 이 이벤트에 대한 처리기에서 쿠키를 유지할지 여부를 변경할 수 있습니다. 이벤트가 발생한 후 메서드는 SAM을 사용하여 쿠키를 씁니다.

    참고

    구성의 집합은 SessionSecurityTokenHandler 쿠키를 작성하는 데 사용되지 않습니다.

  8. 메서드를 OnSignedIn 호출하여 이벤트를 발생합니다 SignedIn .

  9. 메서드를 GetReturnUrlFromResponse 호출하여 클라이언트를 리디렉션할 RP 페이지를 가져옵니다. 기본적으로 이 메서드는 로그인 응답의 wctx 매개 변수에서 반환 URL을 읽습니다. WSFAM이 반환 URL을 저장하는 방법에 대한 자세한 내용은 메서드를 CreateSignInRequest 참조하세요.

적용 대상