Аутентификация Windows: исключить отдельный маршрут / URL вместо файла (IIS) - PullRequest
0 голосов
/ 05 октября 2018

У меня есть сайт PHP, созданный с использованием CodeIgniter с включенной аутентификацией Windows, однако мне нужно исключить некоторые файлы, так как они предназначены для публичного API.Файл называется api.php.

Моими первыми мыслями было исключить api.php в файле web.config:

   <location path="api.php">
        <system.webServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="true" />
                </authentication>
                <authorization>
                    <remove users="*" roles="" verbs="" />
                    <add accessType="Allow" users="*" />
                </authorization>
            </security>
        </system.webServer>
    </location>

Однако Codeigniter направляет все вызовы через его файл index.phpпервый.Поэтому вызов mysite.com/api на самом деле вызовет mysite.com/index.php/api, и исключение файла не имеет никакого эффекта.

Я пытался исключить его в маршруте web.config с вариантами ниже,Но это не работает:

<location path="/api">

Есть ли способ исключить конкретный маршрут / URL-адрес от необходимости аутентификации?Я знаю, что это возможно для файла, но это не то, что мне нужно.

В посте ниже говорится, что вы можете добавить [Authorize] в верхнюю часть каждого контроллера с помощью приложений asp.net: Аутентификация Windows и MVC: правильный способ исключить отдельный файл / маршрут Не думаю, что в PHP есть эквивалент.

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