[英]Restricting access to ASP.NET Web Services
我正在使用ASP.NET Web服務。 出於這個問題的目的,可以說我有2種網絡方法:
[WebMethod]
public string Checkmeplese() {
return "Hello World";
}
[WebMethod]
public string CheckSomethingElse()
{
return "Check Something Else String";
}
我正在使用最新版本的IIS。
如果將Web服務放置在可公開訪問的服務器上,那么我可以毫無問題地訪問它,但其他所有人也可以。
我想構建一個將使用Web服務的前端,但是我不希望其他人能夠訪問它。
我該如何做到只有我的項目才能訪問Web服務或至少訪問IP?
如果我了解您的問題,那么您將遇到以下情況。
您的Web應用程序和Web服務托管在IIS中。 您的Web應用程序使用Web服務,並且您只希望您的Web應用程序可以訪問Web服務。 您必須確定以下內容。
如果您的Web服務不是從客戶端腳本訪問的,而是僅從Web應用程序后面的代碼訪問的,則將您的Web服務托管為localhost而不是ip地址或IIS中的*綁定。 這允許您在以localhost身份請求時從Web應用程序訪問您的Web服務。
如果您的Web服務需要從客戶端訪問,則必須進行限制(這種情況包括很多東西)。 用戶名和密碼保護,基於令牌的機制,跨站點請求發布,因此您必須決定要做什么。 即使您限制IP地址。
使用可以使用內置的ASP.NET篩選:
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="a.b.c.d" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.