Как защитить URL-адрес в ASP Net Core

Я работаю над Rest Api с ASP Net Core 1.0. Я использую Swashbuckle 6.0.0-beta902 для создания красивой документации. Эта документация поставляется с пользовательским интерфейсом Swagger (доступным через swagger / ui / index.htm).

Поэтому я хочу настроить свое приложение так, чтобы пользователи, прошедшие проверку подлинности, получали доступ к URL-адресу swagger / ui /. Действительно, я хочу ограничить доступ к документации только для разрешенных пользователей.

В ASP Net Core 1.0 нам просто нужно добавить [Авторизация] в класс или метод для требуемых аутентифицированных пользователей. Но как определить, что для URL-адреса нужен аутентифицированный пользователь?


person Waldo    schedule 28.10.2016    source источник


Ответы (1)


Я думаю, что из Asp.Net Core все ваши файлы Swagger следует рассматривать как статические файлы, которые будут обслуживаться клиенту, которые затем следует поместить в папку wwwroot. Я не знаю встроенного способа добавить аутентификацию поверх статических файлов, но вы могли бы создать небольшое промежуточное ПО для этого.

Выглядит примерно так: Как в ASP.NET 5 предоставлять статические файлы только авторизованным пользователям?

В качестве альтернативы, я полагаю, вы могли бы создать контроллер для сервера этих файлов swagger, но здесь это может быть не очень хорошей практикой.

person Daboul    schedule 28.10.2016