簡體   English   中英

限制對ASMX Web服務的訪問

[英]Restricting access to a ASMX Web Service

我有一個ASMX Web服務,該服務具有許多可以調用的方法。 但是,我想限制某些方法,以便調用方必須經過身份驗證才能調用它們,或者甚至更好的方法只能從運行該服務的本地服務器中調用。

基本上,那些需要保護的方法將由本地服務器上的Microsoft Windows Scheduler調用。

這兩種選擇都是可行的,實現這一目標的最佳和首選方式是什么?

在您要保護的Web服務的頂部,您可以執行以下操作:

if (!Request.IsLocal)
{
    Response.StatusCode = 401;
    Response.StatusDescription = "Unauthorized";
    return null;
}

您還可以檢查它們是否通過IsAuthenticated屬性進行了身份驗證。

在您提到的兩種方法中,到目前為止,最簡單的方法是僅限制對本地服務器的訪問。 您可以通過代碼(如另一條注釋所述)或通過IIS本身的管理來執行此操作。

如果您加載IIS管理器並選擇asmx文件所在的文件夾,則會在右側看到“ IP地址和域限制”部分。 打開此窗口,添加默認的拒絕規則,然后添加127.0.0.1的允許規則。

請注意,使用此方法將限制此文件夾中的所有服務,因此,如果不需要或不希望使用此方法,則可能需要將其移動到其自己的文件夾中。

暫無
暫無

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

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