簡體   English   中英

如何保護WCF服務免受未經授權的訪問?

[英]How can I protect WCF service from unauthorized access?

編輯:

請注意兩點: 應用程序將公開可用,並且用戶不需要任何帳戶 如果更好,您還可以提出WCF以外的其他解決方案。

我正在用C#開發一個可以輕松安裝其他應用程序的應用程序。 此應用程序支持的程序列表將存儲在公共服務器上的數據庫中。 只有我的應用程序才能訪問該數據庫。 每個人都可以安裝此應用程序,並且用戶不需要任何帳戶。

現在,我想知道應用程序和服務器之間的通信應該如何。 我正在考慮開發WCF服務,但是每個人都可以輕松連接到該服務(只有我的程序才可以訪問該服務)。

有什么方法可以保護WCF服務免受未經授權的訪問? 或者,也許您有更好的主意,此應用程序與服務器之間的通信應該是什么樣子?

在此先感謝您的幫助!

您可以查看以下鏈接以獲取有關此主題的幫助

https://msdn.microsoft.com/en-us/library/ms731925.aspx
https://msdn.microsoft.com/en-us/library/aa702565.aspx

您可以配置綁定以執行基於用戶名和密碼的身份驗證,在此驗證中,如果用戶名和密碼有效,則只有您可以授予對服務的訪問權限。

NET具有內置功能,可確保調用您的代碼得到授權。 例如,看下面的代碼片段:

[PrincipalPermission(SecurityAction.Demand, Role = "MyLocalSecurityGroup"]
public SearchResults Find(string contractNumber)
{
    // ...
}

注意[PrinciplePermission]屬性。 此屬性告訴.NET,僅允許屬於“ MyLocalSecurityGroup”角色成員的主體運行此方法(其中,主體是用戶/服務帳戶,而角色是服務器上本地定義的安全組)。 換句話說,為了運行此方法,調用者必須在作為指定的本地安全組成員的帳戶下運行。

有關如何創建組的更多詳細信息,請單擊此處: https : //msdn.microsoft.com/zh-cn/library/ms731200(v=vs.110).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM