2 개의 웹 응용 프로그램이 있습니다. 하나는 ASP.Net 웹 응용 프로그램이고 다른 하나는 ASP.Net WCF 웹 서비스 응용 프로그램입니다. 나는 WFC 웹 애플 리케이션의 서비스를 소비하는 웹 애플 리케이션 싶습니다. 결국이 두 앱은 방화벽을 통해 통신하게됩니다.ASP.Net 웹 응용 프로그램의 로그온 된 사용자 세부 정보를 WCF 서비스에 전달하는 방법은 무엇입니까?
사용자가 양식 인증을 사용하여 클라이언트 웹 응용 프로그램에 로그온하고 wcf 서비스에서 인증 한 다음 사용자의 역할에 따라 서비스 리소스에 액세스 할 수있게하려고합니다.
지금까지 IsLoggedIn 서비스 메서드를 반환 할 수 없었지만 System.Web.ApplicationServices.AuthenticationService를 사용하여 로그온 한 적이 있습니다. 그러나 클라이언트 웹 응용 프로그램은 사용자가 로그인했음을 인식합니다.
또한, OperationContext.Current.ServiceSecurityContext.PrimaryIdentity에서 사용자를 인식하는 더미 서비스를 만들었으며 로그 된 것으로 생각했습니다. 실제로는 인식하는 ServiceClient.ClientCredentials.UserName 인 것으로 나타났습니다. 로그인 한 사용자의 세부 정보를 WCF 서비스에 어떻게 전달할 수 있습니까?
로그온 한 사용자에게 ClientCredentials.UserName을 설정할 수 있지만 암호를 얻는 방법을 생각할 수 없습니다.
내가 완전히 잘못된 접근법을 사용하고 있습니까? 아니면 제가 누락 된 것이 있습니까? 어떤 조언을 주시면 감사하겠습니다.
이 내 바인딩 구성입니다 :
<wsHttpBinding>
<binding name="wsHttp">
<security mode="Message">
<message clientCredentialType="UserName"
negotiateServiceCredential="false"
establishSecurityContext="false"/>
</security>
</binding>
</wsHttpBinding>
덕분에, 이안
안녕하세요. 루벤스, 귀하의 회신에 감사드립니다. 폼 인증 자격 증명이 아닌 Windows 자격 증명을 통과하기 때문에 작동하지 않을까 걱정됩니다. 감사합니다. Iain – Iain