ASP.NET 웹 응용 프로그램이 WCF 서비스와 통신하는 데 필요한 인증 옵션은 무엇입니까?ASP.NET 및 WCF 인증 옵션
시나리오 :
- 사용자가 ASP.NET의 형태로 사용자 이름과 암호를 입력합니다.
- ASP.NET은 사용자를 인증하기 위해이를 WCF로 전달해야합니다.
- 인증되면 사용자는 웹 사이트에서 작업을 수행 할 수 있습니다. 각 동작에는 다른 WCF 작업으로 데이터를 보내야합니다. WCF는 각 호출에서 사용자가 누구인지 알아야합니다.
가장 쉬운 방법은 사용자 이름/암호를 ASP.NET 세션 상태로 저장하는 것입니다. 그러나 암호는 서버의 메모리에 저장되므로 안전하지 않습니다.
이 WCF가 ASP.NET 외에도 다른 클라이언트에서 소비 될 가능성이 있기 때문에 인증서를 사용하여 ASP.NET "클라이언트"를 인증하려고하지 않습니다.
내가 지금까지 본 가장 좋은 제안은 WIF (Windows Identity Foundation)를 사용하는 것입니다. 이를 위해서는 STS가 필요합니다. MSDN에 따르면 Microsoft는 Visual Studio를 통해 STS를 설정하지 않는 것이 좋습니다. 일부 환경에서는 Active Directory를 사용할 수 있고 다른 환경에는 사용자 지정 사용자 저장소가있을 수 있으므로 배포 환경에서 STS를 사용할 수 있다고 보장 할 수는 없습니다. 사용자 지정 사용자 저장소에 대해 인증하도록 사용자 지정 STS를 설정할 수 있습니까? 이 작업을 수행하는 데 필요한 설명서를 찾는 데 문제가 있습니다.
WIF 사용 외에 다른 옵션이 있습니까? 기본 WCF 서비스에 대해 인증하는 데 사용할 수있는 토큰을 반환하는 사용자 지정 WCF 인증 서비스는 어떻습니까?