0

我正在遵循 此处描述的解决方案

我在 mvc3 中的控制器装饰有这样的自定义 FilterIP 属性

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

在 Web.config 中,我在 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/ 来发现我当前的 ip(因为我有来自 isp 的动态 ip)。据我所知,这应该在我使用我的 ip inside 后工作。89.111.212.141 是我的 isp 动态 ip。但它不起作用。

有什么问题?在收到装饰控制器操作时,我经常被重定向到登录。顺便提一下,当使用 localhost 作为 AllowedAdminSingleIPs 时,它正在工作。

4

1 回答 1

3

如果您已在本地托管您的应用程序(VS 内置 Web 服务器)并在本地访问它,那么您的 IP 是 127.0.0.1,由httpContext.Request.UserHostAddress. 尝试通过放置断点来调试代码,以查看发生了什么。

于 2012-04-18T11:57:23.313 回答