2009-03-07 5 views
1

자체 작업 그룹에있는 서버에 WCF 서비스를 설치했습니다. 회사 도메인에있는 클라이언트로부터 TCP/IP 연결을 시도했습니다. 내가 연결을 열려고 할 때, 나는 메시지와 함께 SecurityNegotiationException 얻을 : ".. 이 인증 과정에서 충족되지 않은 원격 측 보안 전제 조건 ProtectionLevel 및/또는 ImpersonationLevel을 늘려보십시오"문제 서버의 WCF 서비스에 연결

을 내부 예외가 읽 문제에 대한 일부 동료와 말하기, 일부 구글의 연구를 수행 한 후

을 "네트워크 로그온 실패"나는 문제가 클라이언트가 로그온을 시도한다는 결론에 도달했다 내 회사 네트워크 로그인 및 암호를 사용하여 서버에 연결합니다. 서버는 회사 네트워크의 일부가 아니기 때문에 회사 ID에 대한 지식이 없으며 로그인/연결 시도를 거부합니다. 이 분석이 정확한지 아닌지, 나는 잘 모른다.

Google 검색 결과는 아마도 서버 컴퓨터에있는 사용자 계정을 가장해야한다는 해결책을 제시하는 것 같습니다. - 나는 또한 사용자 가장 (user impersonation)을 보여주는이 codeproject 기사를 우연히 발견했다. 서버의 유일한 계정은 암호가없는 Administrator이므로 도메인의 컴퓨터 IP 주소를 "10.0.0.11", 사용자 이름을 "Administrator"로, 암호를 ""로 시도했습니다.

"로그온 실패 : 알 수없는 사용자 이름 또는 잘못된 암호"

문제에 대한 또 다른 힌트 : http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx?display=Print 불행하게도,이 메시지와 함께 실패 클라이언트와 서버가에 두 시스템이있는 경우 회사 네트워크에 연결 문제가 전혀 없습니다.

어떻게 오류를 해결하고 서버에 대한 연결을 완료 할 수 있습니까? 모범 사례는 아니지만 보안을 완전히 제거해도 괜찮습니다.이 프로젝트를 계속 진행할 수 있습니다.

+0

무엇이 궁금하셨습니까? –

답변

2

세부 사항을 파악할 때까지 배우는 가장 좋은 방법은 보안을 사용하지 않도록 설정하는 것입니다. 보안 모드를 "없음"으로 설정하여 서버 측에서 새 바인딩 구성을 작성해야합니다. 편의상 이름을 "NoSecurity"로 지정하십시오. 이 구성에는 엔드 포인트에서 사용하는 유형 (wsHttpBinding 등)이 있어야합니다. 그런 다음 엔드 포인트의 bindingConfiguration 등록 정보를 "NoSecurity"로 설정하십시오.

클라이언트 구성을 업데이트하면 이동하도록 설정됩니다.

+0

MSDN 포럼 질문 : "WCF 보안을 해제하는 방법"http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/271b1816-173c-4c76-a4c4-fd9fda4b5e91/ 참고 다음 예제에서 : "Binding1"은 "MyService"서비스에 의해 참조됩니다. – MedicineMan

1

워크 그룹에 도메인을 트러스트 할 수있는 방법이 없다는 것을 알고 있습니다. 선택은, 내가 그것을

  1. HTTP (웹 서비스 엔드 포인트)를 사용하여 WCF 서비스에 다른 엔드 포인트를 추가하고 도메인이 사용을 참조한다. 여기서는 가장을 할 수있는 보안 문제가 발생하거나 작업 그룹 서버의 항목에 액세스 할 수있는 특정 사용자를 설정할 수 있습니다.

  2. WCF 서비스의 보안 취약성. 나는 이것을 어떻게하는지에 대해 생각해야 하겠지만, 어쨌든 그것은 좋은 생각이 아니다.

  3. 도메인을 만들고 트러스트 관계를 얻으십시오.

위의 코드 프로젝트는 WCF에 직접 유용한 방식으로 가장을 다루지 않습니다.이 코드를 사용하기 전에 인증이 이루어지기 때문입니다. 당신이 프레임 워크 비트에서 그것을 할 수 있다고 상상해보십시오. 그러나 그것은 불쾌 할 것입니다. HTTP 엔드 포인트에서 코드를 사용하는 방법이 있지만 Windows 보안을 우회하는 코드를 추가하지 않고도 이미 완료 할 수 있습니다.

+0

또는 도메인의 WCF 서비스에 대한 작업 그룹의 인증서를 제공하여 인증을 수행 할 수 있습니까? –

+0

정말 훌륭한 제안들. 나는 아래로 보안을 무력화/보안 해제와 괜찮아요; 이것은 완전히 내부 네트워크이며 최선의 방법은 아니지만이 공원을 최대한 빨리 운영하고 싶습니다. 어떻게 보안을 해제하여이를 수행 할 수 있습니까? – MedicineMan

관련 문제