2009-08-17 2 views
0

저는 현재 WCF를 사용하여 서버와 레거시 시스템의 외관 역할을하는 프로그램 간의 통신을 찾고 있습니다.IIS 네트워크 사용자 계정이 다른 계정으로 실행되는 WCF 서비스를 호출 할 수 있습니까?

빠른 개요 : 사용자 < -> ASP .NET 웹 페이지 < -> WCF < -> 외관 프로그램 < -> 기존의 권리 외관을 실행하는 데 필요한과

내가 IIS를 실행하지 않으 시스템 프로그램을 사용하여 WCF를 사용하여 두 가지 소프트웨어 간 통신을 고려했습니다.

이것이 가능합니까? 두 .NET 프로젝트간에 통신하는 데 WCF가 아닌 다른 것을 사용해야합니까?

+0

전체 소스 코드 샘플을 사용하는 최종 해결책이 있습니까? – Kiquenet

답변

2

WCF는 일반적으로 구성을 통해 지원하는 다양한 옵션으로 인해 .NET에서 프로세스 간/컴퓨터 간 통신에 가장 적합한 방법입니다.

IIS -> WCF 서비스를 인증하는 측면에서 WCF 클라이언트 프록시가 제공하는 기본 Windows 인증으로 시작할 수 있습니다. IIS는 동일한 컴퓨터에서 자동으로 인증해야하는 네트워크 서비스 자격 증명을 사용하여 WCF 서비스에 연결합니다.

다른 컴퓨터에서 WCF 서비스를 호스팅하는 경우 IIS 컴퓨터의 네트워크 서비스 계정을 DOMAIN \ COMPUTERNAME $ 형식의 컴퓨터 계정 이름을 사용하여 호스팅되는 컴퓨터에 매핑해야합니다 .

또는 클라이언트 도메인에서 특정 도메인 계정에 대한 NetworkCredentials 인스턴스를 초기화 할 수 있습니다. 이것은 암호에 암호를 포함해야하므로 보안 성이 떨어지지 만 실제로는 사용하기가 쉽습니다.

WCF 서비스 호스트 프로세스는 다른 프로세스 ID를 사용하여 실행될 수 있으며 해당 프로세스 ID를 사용하여 다운 스트림 구성 요소를 실행합니다.

0

계정은 중요하지 않습니다.

+0

전용 서버가 아닌 경우 수행합니다. 서버에서 프로그램을 실행하는 사람은 원하지 않습니다. 어쩌면 그는 비슷한 상황에 처해있을 수도 있습니다. – Havenard

+0

그럴 경우, 그렇게해야 할 가능성이 있습니다. 그는 보안에 대해 전혀 말하지 않았습니다. –

+0

전용 서버입니다. –

1

소켓 연결을 할 것입니다. Frontend가 포트를 경청하면 .NET 웹 페이지가 연결되어 데이터를 교환합니다 ... 사용자 수준에 대한 걱정은 전혀 없습니다.

+1

이전에 그런 종류의 프로그램을 작성하고 유지 했습니까? 대부분의 사람들은 그렇지 않습니다. 그들에게 WCF는 개발하고 유지하는 것이 훨씬 쉬울 것입니다. –

관련 문제