ASP.NET/IIS HttpErrors и отказ в доступе - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть сайт, к которому имеют доступ только авторизованные пользователи.

У меня также есть страница с пользовательской ошибкой, если поднято 401.2 .

Я настроил web.configследующим образом:

  <system.webServer>             
    <httpErrors errorMode="Custom">
      <remove statusCode="401" subStatusCode="-1" />
      <error statusCode="401" subStatusCode="-1"
             path="ERRORS\unauthorized.html"
             responseMode="File">
      </error>
    </httpErrors>    
  </system.webServer>

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

  1. http://localhost -> отображается ERRORS\unauthorized.html;
  2. http://localhost/index.html -> ERRORS\unauthorized.html не отображается , и я могу получить доступ к странице!

Я также заметил две вещи:

  1. , если я меняю страницу на index.aspx, отображается ERRORS\unauthorized.html;
  2. , если я использую другой statusCode, т. Е. 404, отображается HTML-страница.

так что я не понимаю?Где моя ошибка?

PS Я использую IIS 10 и .NET 4.7

1 Ответ

0 голосов
/ 26 апреля 2019

Какую аутентификацию вы используете?Предполагая, что вы используете анонимную аутентификацию на уровне IIS и какую-то аутентификацию на уровне asp.net или system.web, конвейер asp.net не появляется, когда вы получаете доступ к статическим файлам, поскольку они обрабатываются статическим файлом.обработчик.ТАК разрешение не входит в картину.Также попытайтесь настроить пул приложений для запуска в интегрированном режиме и попробуйте, потому что интегрированный режим объединяет конвейер iis и asp.net, если вы работаете в классическом режиме,

также не добавится еще одна заметка в строке., 401.2 - это состояние, на которое сервер отвечает, что информация о пользователе не передается, и клиент должен войти в систему, это не обязательно должно иметь отношение к авторизации, и это способ аутентификации работы серверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...