У меня есть сайт 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 есть эквивалент.