2010-01-29 6 views
2

Silverlight 응용 프로그램에 데이터를 제공하고 적절한 .svc 파일과 함께 다음과 같이 정의되는 웹 응용 프로그램에서 실행되는 WCF 서비스가 있습니다.웹 사이트에서 호스팅되는 WCF 서비스에서 사용자를 인증하는 방법

[ServiceContract(Namespace = "")]  
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class DispatchService 
{ 
    [OperationContract] 
    public DateTime GetServerTime() 
    { 
     // Add your operation implementation here 
     return DateTime.Now; 
    } 

아이디어는 사용자가 웹 사이트에 로그인 한 다음 모든 서비스에 대해 권한을 부여한다는 것입니다. 사용자 인증을 위해 Silverlight 응용 프로그램에 로그인 기능을 사용하고 싶지 않습니다.

따라서 누구나 인증되지 않은 내 서비스에 전화를 걸 수 없기를 바랍니다.

나는 ...

  1. 은 어떻게 든 각 운영 계약이를 결정할 수 없습니다. 나는 OperationContext 객체를 들여다 보았지만 사용자가 누구인지를 결정하는 방법으로 두드러진 것을 찾지 못했습니다.

  2. 어떻게 든 인증 된 사용자가 메서드를 사용할 수 있도록 ServiceContract를 특성화합니까?

  3. 무단 사용자가 서비스가 포함 된 폴더에 액세스하지 못하도록 내 web.config에 무엇인가 넣으시겠습니까?

귀하의 생각은 대단히 감사하겠습니다.

감사합니다.

+1

http://stackoverflow.com/questions/1087271/passing-formsauthentication-에 <location> 태그를 통해 인증되지 않은 사용자에 대한 액세스를 거부 할 cookie-a-wcf-service – Arthur

답변

관련 문제