[英]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.