2010-01-29 129 views
2

我有一個WCF服務運行在我的Web應用程序中,該服務向Silverlight應用程序提供數據,定義如下(使用適當的.svc文件)....如何授權用戶在網站上託管的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-拒絕訪問未經授權的用戶餅乾到一個WCF的服務 – Arthur 2010-01-29 16:46:30

回答