Веб-сервис ASP.Net. Как отклонить запрос? - PullRequest
1 голос
/ 04 августа 2010

У меня есть веб-сервис asmx, и я хотел бы отклонить все запросы, поступающие со всех ip-адресов, кроме одного, который я знаю.

Я использовал Application_BeginRequest, но после того, как я подтвердил, что ip не ip, я знаю, яхотел бы знать, что мне нужно заменить комментарий в коде ниже.

Спасибо

protected void Application_BeginRequest(object sender, EventArgs e)
{
     var  address = "916.222.18.0";
     var ip = Context.Request.ServerVariables["REMOTE_ADDR"];

     if (ip != address)
     {
         // reject request
     }
}

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Попробуйте это:

Context.Response.StatusCode = (int)HttpStatusCode.Forbidden;
Context.Response.End();

Или вы можете просто перенаправить на другую страницу, не имеющую ограничений клиента:

Context.Response.Redirect("Head-Fake.aspx");
1 голос
/ 04 августа 2010
 if (ip != address)
 {
     Context.Response.StatusCode = 401; // Unauthorized
     Context.Response.End();
     // or
     throw new HttpNotFoundException();
 }
...