2011-01-14 3 views
1

내가 원하는 작업은 다음과 같습니다.WCF 클라이언트와 서비스 간의 인증 유지?

1) 클라이언트를 WCF 서비스에 대해 처음 호출 할 때 인증합니다. 이는 응용 프로그램 단위가 아닌 사용자 단위로 수행됩니다.

2) 클라이언트가 전화를 걸 수 있는지 확인하십시오.

3) 이전 호출에 대해 1 단계에서 이미 인증 된 권한으로 만 권한 부여하는 후속 호출 용.

또는 클라이언트가 어떤 이유로 또는 "핸드 쉐이크"에 대한 서비스의 다른 인스턴스에 연결 한 경우

는 다시 인증 나뉩니다.

이게 좋겠다. WCF에서 Username 및 Password 인증 및 권한 부여를 사용하여 암시 적으로 발생합니까? 아니면 사용자 정의 된 것을 작성하는 방법이 있습니까? 본질적으로 효율성을위한 것입니다.

많은 감사, 복어

+0

WCF 서비스를 호스팅하고있는 곳은 어디입니까? 그리고 어떤 종류의 인증을 사용하고 있습니까? 윈도우, 폼? – bic

+0

"워크 플로 제공"이란 무엇을 의미합니까? WF (Windows Workflow)를 사용하여 WCF 서비스를 만들었습니까? 그렇다면 WF 3 또는 WF 4입니까? – TrueWill

답변

2

이는 보안 컨텍스트 (또는 보안 세션)라고하며 메시지 보안 가능하다. 유일한 제한은 세션이 단일 서비스 인스턴스와 클라이언트 프록시 사이에서 처리된다는 것입니다 (모든 호출은 동일한 프록시 인스턴스에서 수행되어야합니다).

<wsHttpBinding> 
    <binding name="wsHttp"> 
    <security mode="Message"> 
     <message clientCredentialsType="UserName" estabilishSecurityContext="true" /> 
    </security> 
    </binding> 
</wsHttpBinding> 

EstabilishSecurityContext는 기본적으로 사실이다 : 여기

보안 컨텍스트를 허용하기위한 몇 가지 기본 구성입니다. WS-SecureConversation 프로토콜을 사용하면이 프로토콜이 사용됩니다. 첫 번째 호출은 인증 된 자격 증명을 전달하고 보안 토큰은 클라이언트에 발급됩니다. 다음 호출에서는이 보안 토큰을 사용하여 클라이언트 ID를 제공합니다. 이 동작은 개발자에게는 투명하므로 토큰을 전혀 다룰 필요가 없습니다.

관련 문제