우리는 WCF (Windows Communication Foundation) 클라이언트 및 서비스 응용 프로그램을 보유하고 있습니다. Kerberos와 함께 Windows 인증을 사용하고 있습니다.서버에서 사용자 계정을 사용하는 WCF Kerberos 클라이언트의 패턴
문제는 서비스가 여러 계정 중 하나 (네트워크 서비스, 아마도 특정 사용자 계정 - IT 그룹에 따라 다름) 중 하나에서 실행될 수 있다는 것입니다. 이 계정은 매일 바뀔 가능성이 없지만 경우에 따라 (아마도 몇 개월마다) 변경 될 수 있습니다. 또한이 클라이언트/서비스 패키지를 여러 그룹에 제공하며 각 그룹에는 서비스를 실행하는 데 사용하는 자체 계정이있을 수 있습니다 (이는 단일 팀에 대해 사용자 지정 솔루션을 사용할 수 없음을 알려주는 것입니다.)).
위의 단락이 문제 인 이유는 서비스가 SYSTEM 또는 NETWORK SERVICE 계정 (예 : 사용자 계정)에서 실행되고 있지 않은 경우 클라이언트가 ID의 사용자 계정 이름을 지정해야한다는 것입니다. 끝점. 이 제한에 대한 자세한 내용은
은 다음을 참조하십시오 http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/feb6bc31-9a4b-4f8d-a887-ef6d2c7abe41 및 http://www.vistax64.com/indigo/146204-using-localhost-v-s-environment-machinename.html지금이 겉보기 서비스가 실행되는 IT 부서가 계정을 변경하는 상황에 대처하기가 힘들 수 있습니다. 이 패턴을 처리하는 패턴은 무엇입니까? 다른 사람들이 이것을 어떻게 처리 했습니까? 내가 생각한 한 가지 해결책은 서비스의 사용자 계정이 변경되었을 때 관리자가 이메일을 보내고 클라이언트 또는 구성 파일을 업데이트하는 응용 프로그램에 웹 링크가있어서 클라이언트가 새 사용자 계정을 참조하도록합니다 . 그러나 그것은 hackish 것처럼 보인다.
틀림없이 이것은 이동하는 끝점의 URI와 비슷합니다. 나는 URI를 변경하는 것은 클라이언트가 알아야 할 것이지만, 서비스가 실행중인 계정을 변경하는 것은 클라이언트에게 상대적으로 투명해야한다는 것을 사람들이 대신하여 훨씬 더 기대하고 있다고 생각합니다.
현재로서는 IIS 7.0에서 호스팅해야합니다.
감사합니다. Remus. 이것은 좋아 보인다. 나는 당신의 연결과 방법을 들여다보고 그들이 일을하는지 볼 것입니다. 감사합니다! –
나는 이것이 작동해야한다고 확신한다. 나의 최신 업데이트를 보라. –
일하는 것 같습니다! 나는 이상한 행동을하고있다. 내가 한 일은 AD 서버에 가서 setspn을 실행하고 임의의 spn을 사용자 계정에 연결 한 것입니다.그런 다음 SPN을 서버에서 노출하고 클라이언트에서 소비했습니다. 그게 다 잘되고 잘됐다. 그럼 서비스에서 노출 된 SPN을 변경하고 클라이언트에서 임의의 SPN을 소비하려고했습니다. 나는 그것이 실패해야한다고 생각했다. 자, 이제는 spn을 지정하면 작동합니다. 이것은 이전 상태보다 10 배 우수하지만이 동작의 원인을 아는 것은 재미있을 것입니다. 감사! –