У меня есть виртуальный каталог, защищенный базовой аутентификацией. Я хотел бы отключить аутентификацию для определенных IP-адресов, чтобы все запросы, например, 127.0.0.1 разрешены без запроса учетных данных. Как я могу это сделать?
Я не смог найти встроенного способа, чтобы это произошло. В итоге я написал модуль IIS, используя инструкции Microsoft.
Модуль проверяет IP-адрес клиента (используя HttpRequest.UserHostAddress
), а если его нет в списке исключений, повторно реализует стандартную базовую проверку подлинности для учетных записей Windows (используя LogonUser
API и настройка HttpContext.User
к WindowsPrincipal
). Домен аутентификации и список исключенных IP-адресов считываются из web.config
(с помощью ConfigurationManager.AppSettings
).
Камни преткновения включены:
127.0.0.1
и IP-адрес сервера в список исключений, но также нужно было добавить ::1
(Локальный IPv6).hgrc
с allow_push
линия от username
к DOMAIN\username
после включения плагина.