配置ASP.NET应用程序以始终接受来自特定IP地址的GET请求?

时间:2010-08-26 22:44:12

标签: asp.net asp.net-mvc

我有一个使用表单身份验证锁定的应用程序。我想编写脚本的夜间任务很少,例如,http://myapp.domain.com/NightlyTask获取请求...我不需要任何响应,我只需要它接受来自某个IP地址的获取请求。我意识到你可以欺骗一个IP地址等,但我正试图让这个变得简单。

无论如何我可以设置Web.config无条件地授予对某个IP的访问权限吗?还有其他想法吗?

同样,长期解决方案将是运行Quartz或其他类似cron的作业处理程序的服务。我还没到那里,希望有一个临时解决方案。谢谢!

1 个答案:

答案 0 :(得分:1)

出于各种安全原因不建议使用,但如果必须,可以创建自己的授权过滤器

public class AuthFilter : AuthorizeAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.Request.UserHostAddress == "127.0.0.1")
            return;

        base.OnAuthorization(filterContext);
    }
}

你会用127.0.0.1替换你的ip,这样可行。