2011-09-12 131 views
1

我要發佈我的應用程序託管,我已經決定要購買哪個主機。我希望能夠拒絕任何人從網絡上查看該應用程序,除了一些將要測試該應用程序的人。允許特定用戶訪問託管應用程序

我不知道是否託管通常允許做一些類似的事情,設置一些選項或任何IP地址限制的應用程序。我知道它可以在IIS中執行,但不知道是否託管允許直接訪問IIS。否則,我需要在我的應用程序中實現。

你有什麼經驗?

我的應用程序建立在asp.net mvc 3.0上。

託管我選擇arvixe.com(尚未購買)。我問他們關於電子郵件的問題,但沒有得到任何迴應

回答

1

正如你已經指出,這是很容易限制/允許特定的IP地址與IIS。但在您的情況下,您的提供商可能不會授予您調整此部分的權限。

你可以做的是創建一個HttpModule並通過這種方式限制IP地址。下面是這個實現的很好的例子:

http://www.codeproject.com/KB/aspnet/http-module-ip-security.aspx

下面是該代碼:

/// <summary> 
/// HTTP module to restrict access by IP address 
/// </summary> 

public class SecurityHttpModule : IHttpModule 
{ 
public SecurityHttpModule() { } 

    public void Init(HttpApplication context) 
    { 
     context.BeginRequest += new EventHandler(Application_BeginRequest); 
    } 

    private void Application_BeginRequest(object source, EventArgs e) 
    { 
     HttpContext context = ((HttpApplication)source).Context; 
     string ipAddress = context.Request.UserHostAddress; 
     if (!IsValidIpAddress(ipAddress)) 
     { 
      context.Response.StatusCode = 403; // (Forbidden) 

     } 
    } 

    private bool IsValidIpAddress(string ipAddress) 
    { 
     return (ipAddress == "127.0.0.1"); 
    } 

    public void Dispose() { /* clean up */ } 
} 
相關問題