2011-04-13 5 views
1

Oracle 데이터베이스에 연결하는 WCF 서비스가 있습니다. 데이터베이스 연결은 서비스를 호출하는 사용자의 신임을 사용하여 수행해야합니다.데이터베이스에 대한 자격 증명을 wcf 서비스에 전달하는 방법은 무엇입니까?

클라이언트에서 클라이언트 자격 증명에 설정된 사용자 이름과 암호를 액세스 할 수 있도록 설정하여 데이터베이스에 연결할 때 생성 된 연결 문자열에 추가 할 수 있도록 설정하는 방법 서비스 호출에 대한 데이터?

또는 다른 방법으로 처리해야합니까?

차이가 나는 경우 oracle 데이터베이스에서 프록시 ID를 사용하므로 모든 사용자가 기본 사용자로 연결되고 프록시 ID가 전달 된 자격 증명으로 설정되어 쿼리가 프록시 사용자의 컨텍스트

답변

1

Impersonation 서비스를 설정하십시오. 이렇게하면 서비스 클라이언트의 ID를 사용하게됩니다.

는이 설정이되면, 당신은 다음과 같이 발신자의 윈도우 신원을 얻을 수 있습니다 :

WindowsIdentity callerWindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity; 

Check out this blog post을하고 당신을하는 데 도움이되는지 확인합니다.

+0

감사합니다.하지만 Windows indentity를 사용하고 있지 않습니다. 우리는 사용자 이름/암호 인증을 사용하고 있습니다. –

+0

발신자를 어떻게 인증합니까? customUserNamePasswordValidatorType을 사용하고 있습니까? – BrandonZeider

+0

현재 Google에서 인증하지 않습니다. 나는 우리가 username password authentication을 사용하고 싶다고 말했어야만했다 ... 우리는 우리의 선택이 무엇인지 조사하려고 노력하고있다 ... –

관련 문제