방법: WSFederationHttpBinding에서 보안 세션을 사용하지 않도록 설정
일부 서비스에서 페더레이션 자격 증명을 필요로 하지만 보안 세션을 지원하지 않을 수도 있습니다. 이 경우 보안 세션 기능을 사용하지 않도록 설정해야 합니다. WsHttpBinding과 달리 WSFederationHttpBinding 클래스에서는 서비스와 통신할 때 보안 세션을 사용하지 않도록 설정할 수 없습니다. 대신 보안 세션 설정을 부트스트랩으로 대체하는 사용자 지정 바인딩을 만들어야 합니다.
이 항목에서는 WSFederationHttpBinding에 포함된 바인딩 요소를 수정하여 사용자 지정 바인딩을 만드는 방법을 보여 줍니다. 보안 세션을 사용하지 않는 점만 제외하고 결과는 WSFederationHttpBinding과 동일합니다.
보안 세션을 사용하지 않고 사용자 지정 페더레이션 바인딩을 만들려면
구성 파일에서 로드하거나 코드에서 명령적으로 WSFederationHttpBinding 클래스 인스턴스를 만듭니다.
WSFederationHttpBinding을 CustomBinding으로 복제합니다.
CustomBinding에서 SecurityBindingElement를 찾습니다.
SecurityBindingElement에서 SecureConversationSecurityTokenParameters를 찾습니다.
원래 SecurityBindingElement를 SecureConversationSecurityTokenParameters의 부트스트랩 보안 바인딩 요소로 바꿉니다.
예제
다음 예제에서는 보안 세션을 사용하지 않고 사용자 지정 페더레이션 바인딩을 만듭니다.
코드 컴파일
- 코드 예제를 컴파일하려면 System.ServiceModel.dll 어셈블리를 참조하는 프로젝트를 만듭니다.