我正在关注解决方案 which is described here
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后工作 。 89.111.212.141是我的isp动态ip。但它不起作用。
有什么问题? 在重新启动装饰的控制器操作时,我经常被重定向到登录状态。 简而言之,当使用localhost作为AllowedAdminSingleIPs时,它正在运行。
答案 0 :(得分:3)
如果您已在本地托管您的应用程序(VS内置Web服务器)并在本地访问它,则httpContext.Request.UserHostAddress
返回的IP很可能是127.0.0.1。尝试通过放置断点来调试代码,以查看发生了什么。