2009-07-24 3 views
0

WCF 서비스를 광범위하게 호출하는 ASP.NET 응용 프로그램을 개발 중입니다. 지금, 나는 분명히 정신이 녹고있다. 내 삶은 내 머리에 감겨져있다.WCF 메시지 보안을 사용하여 UserName 인증 사용

메시지 보안 및 ClientCredentialType이 UserName 인 ws2007HttpBinding을 사용하고 있습니다. WCF는 ASP.NET 멤버 자격 공급자를 사용하여 사용자의 자격 증명의 유효성을 검사합니다.

이 모두 잘 작동하지만 난 분명히 지금 전화에서 사용자 세부 사항을 포함해야합니다 사용자가 단지 우리에게 사용자 이름과 암호를 주신으로 이제

var service = new MyService.MyServiceClient(); 
service.ClientCredentials.UserName.UserName = "my_username"; 
service.ClientCredentials.UserNane.Password = "mypassword"; 

.... etc ... 

service.Close(); 

을,이 로그인 페이지에서 쉽습니다. 나중에 사용자 자격 증명으로 다른 서비스를 호출해야 할 때 사용할 암호를 저장하는 데 익숙하지 않습니다.

나는 분명한 뭔가를 놓치고 있습니까? 나는 토큰 등에 대해 읽었지만 그런 종류의 것을 구현하는 방법에 대해서는 완전히 확신하지 못했다. 나는 하루 종일 검색과 독서를 보냈으며 아직도 확신 할 수 없기 때문에 당신이 줄 수있는 도움을 주시면 감사하겠습니다!

답변

1

가장 쉬운 방법은 실제로 사용자 지정 들여 쓰기에 암호를 저장하는 것입니다. 이상적인 세상에서 예를 들어 Kerberos 및 위임. 명의 도장 및 위임에 대한 추가 정보를 찾아보십시오.

꽤 좋은 기사 :

http://msdn.microsoft.com/en-us/library/ms998358.aspx#paght000025_usingimpersonation

그러나이 모든 물건은 멤버 자격 공급자 작동하지 않습니다. Active Directory로 Windows 인증이 필요합니다.

이 주제는 너무 쉬운 것이 아닙니다. 아이디어로 : 대화 형으로 로그온 한 사용자의 자격 증명으로 웹 서비스에서 실제로 인증해야합니까?

HTH 조금, 알렉스

+0

예 당신이 그것에 대해 생각할수록 자신의 자격 증명을 사용하여 서비스를 모든 시간을 호출 할 권리하지 않아도된다 – Wayne

관련 문제