2011-02-15 3 views
0

나는 클라이언트로부터 kerberos 티켓을 받아들이고이 티켓을 ODBC 드라이버에 위임하여 다음과 같은 다른 서버에 연결할 수 있도록 작성한 Windows 서비스를 확장하려고합니다. 그것.ODBC 드라이버를 사용하는 서비스에서 kerberos 위임 구현하기

ODBC 드라이버는 독립 실행 형 시나리오에서 kerberos 인증과 함께 작동합니다. 즉, 현재 사용자의 티켓을 요청하고 전달할 수 있습니다. 그러나 제 서비스에서 한 번에 여러 사용자를 상대 할 수 있습니다. ODBC 드라이버에 연결할 때 올바른 사용자의 티켓을 발견하고 사용할 수 있도록 티켓을 수락하는 방법은 무엇입니까?

내가 생각할 수있는 한 가지 가능성은 티켓을 사용하여 원하는 사용자로 새 프로세스를 만드는 것입니다. 그러나 현재 서비스의 아키텍처 내에서 잘 맞지 않으므로 가능한 경우이를 피하고 싶습니다.

는 (참고 : 내 서비스는 Win32 API를 사용하여 C/C++로 작성)

답변

0

나는 내 자신의 질문에 대한 답을 발견했다.

보안 컨텍스트를 인증 한 후 ImpersonateSecurityContext 함수를 사용할 수 있습니다. 이로 인해 현재 스레드가 보안 컨텍스트를 시작한 클라이언트로 실행됩니다. 이 스레드에서 ODBC 드라이버에 대한 연결 함수를 호출 할 수 있으며 올바른 사용자로 인증됩니다.

http://msdn.microsoft.com/en-us/library/aa375497%28v=vs.85%29.aspx

관련 문제