Разрешить конкретным пользователям доступ к приложению на хостинге - PullRequest
1 голос
/ 12 сентября 2011

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

Я не уверен, что хостинг обычно позволяет делать что-то подобное, устанавливать некоторые параметры или любой IP-адрес.адрес ограничения для приложения.Я знаю, что это можно сделать в IIS, но не уверен, что хостинг разрешил прямой доступ к IIS.В противном случае мне нужно реализовать это в моем приложении.

Что вы испытываете с этим?

Сборка моего приложения на asp.net mvc 3.0.

Хостинг Я выбираю arvixe.ком (еще не купил).Я задал им этот вопрос по электронной почте, но пока не получил ответа

1 Ответ

1 голос
/ 12 сентября 2011

Как вы уже указали, с IIS очень легко ограничить / разрешить определенные IP-адреса.Но в вашем случае возможно, что ваш провайдер не даст вам разрешение на настройку этого раздела.

Что вы можете сделать, это создать HttpModule и таким образом ограничить IP-адреса.Вот отличный пример этой реализации:

http://www.codeproject.com/KB/aspnet/http-module-ip-security.aspx

Вот код для этого:

/// <summary>
/// HTTP module to restrict access by IP address
/// </summary>

public class SecurityHttpModule : IHttpModule
{
 public SecurityHttpModule() { }

    public void Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(Application_BeginRequest);
    }

    private void Application_BeginRequest(object source, EventArgs e)
    {
        HttpContext context = ((HttpApplication)source).Context;
        string ipAddress = context.Request.UserHostAddress;
        if (!IsValidIpAddress(ipAddress))
        {
            context.Response.StatusCode = 403;  // (Forbidden)

        }
    }

    private bool IsValidIpAddress(string ipAddress)
    {
        return (ipAddress == "127.0.0.1");
    }

    public void Dispose() { /* clean up */ }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...