2012-04-18 176 views
0

限制我下面的解決方案 which is described here使用的IP地址

我在MVC3控制器與定製裝飾FilterIP屬性這樣

//Admin/Device/Edit/1 
    [FilterIP(
      ConfigurationKeyAllowedSingleIPs = "AllowedAdminSingleIPs", 
      ConfigurationKeyAllowedMaskedIPs = "AllowedAdminMaskedIPs", 
      ConfigurationKeyDeniedSingleIPs = "DeniedAdminSingleIPs", 
      ConfigurationKeyDeniedMaskedIPs = "DeniedAdminMaskedIPs" 
    )] 
    public ActionResult Edit(int Id).... ommiting 

,並在Web.config中,我有機會獲得MVC控制器裏面的appSettings這些值現在

<appSettings> 
    <add key="AllowedAdminSingleIPs" value="89.111.212.141"/> 
    <add key="AllowedAdminMaskedIPs" value="10.2.0.0;255.255.0.0"/> 
    <add key="DeniedAdminSingleIPs" value=""/> 
    <add key="DeniedAdminMaskedIPs" value=""/> 
</appSettings> 

,我使用http://www.whatismyip.com/ 發現我的CURREN t ip(因爲我有從isp動態ip)。 據我所知,這應該工作後,我在 內使用我的IP。 89.111.212.141是我的isp動態ip。但它不起作用。

什麼是問題? 我經常重定向登錄時,重新裝飾控制器操作。 只要提到,當使用本地主機作爲AllowedAdminSingleIPs它正在工作。

回答

3

如果您在本地託管您的應用程序(VS內置web服務器)並在本地訪問,則您的IP爲127.0.0.1的機率爲httpContext.Request.UserHostAddress。嘗試通過放置斷點來調試代碼,以便查看正在發生的事情。

+0

我在本地託管vs並試圖在調試模式下本地訪問我的控制器。當我將本地主機的密鑰值更改爲127.0.0.1時,訪問不再工作。基本上只有當使用本地主機作爲它的工作價值。這是否意味着我的應用程序在線託管應該沒問題? – BobRock 2012-04-18 12:07:18

+0

@hi,darin,允許某些IP地址訪問mvc頁面,否則公衆將無法訪問這些頁面,該怎麼辦? [這裏](http://stackoverflow.com/a/29368702/2218697)是我的facebook分享問題,會[this](http://www.sasanyeganegi.com/2013/12/how-to-restrict- access-by-ip-in-aspnet.html)工作還是應該問一個新問題? – stom 2015-03-31 12:53:43