Регулировка доступа пользователей к сайту на IIS

У меня есть приложение, которое должно быть открыто для Интернета во время разработки. Приложение имеет собственную авторизацию (формы).

Мы не можем ограничить доступ к серверу по диапазону IP-адресов. Также нам нужно, чтобы сайт вел себя так же, как и при отсутствии глобальной проверки доступа (тестовое приложение QA в этой среде).

Как можно организовать доступ в IIS?

Шаги пользователя:

  1. Перейти на site.ru
  2. Пользователь видит всплывающее окно (глобальное имя пользователя; глобальный пароль - одинаковый для всех пользователей)
  3. Перенаправление на сайт (как анонимный пользователь)
  4. Перейдите на страницу входа и введите локальное имя пользователя и пароль (конкретные для текущего пользователя)

буду благодарен за любой совет

Спасибо


person Pavel    schedule 14.10.2014    source источник


Ответы (1)


  1. Создать фильтр (наследуется от ActionFilterAttribute)
  2. Переопределите метод OnActionExecuting (проверьте пользовательский файл cookie). Если пользовательский файл cookie для аутентификации отсутствует:

    filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusDescription = "Неавторизованный"; filterContext.HttpContext.Response.AddHeader("WWW-Authenticate", "Basic realm=\"Secure Area\""); filterContext.HttpContext.Response.Write("401, пожалуйста, авторизуйтесь"); filterContext.HttpContext.Response.StatusCode = 401; filterContext.Result = новый EmptyResult(); filterContext.HttpContext.Response.End(); base.OnActionExecuting (filterContext);

  3. Зарегистрируйте фильтр в Global.asax в Application_Start()

person Pavel    schedule 25.10.2014