簡體   English   中英

限制對ASP.NET Web服務的訪問

[英]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服務。 您必須確定以下內容。

  1. 如果您的Web服務不是從客戶端腳本訪問的,而是僅從Web應用程序后面的代碼訪問的,則將您的Web服務托管為localhost而不是ip地址或IIS中的*綁定。 這允許您在以localhost身份請求時從Web應用程序訪問您的Web服務。

  2. 如果您的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.

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