Azure Авторизация службы приложений / простая аутентификация конфликтуют ASP. NET Аутентификация форм - PullRequest
2 голосов
/ 24 апреля 2020

Я хочу включить аутентификацию службы приложений, чтобы защитить среду разработки от публичного c доступа. Сама аутентификация службы приложений работает нормально, разрешены только люди из нашей компании Azure AD, все хорошо.

Но это противоречит аутентификации самого сайта, после аутентификации через Azure AD веб-сайт видит вас, как вы уже вошли в систему. И я не понимаю, как именно это приводит к конфликту, мы используем проверку подлинности с помощью форм, я попытался явно назвать Cook ie, который должен искать формы auth, и установить его всегда использовать куки для аутентификации, но это все еще конфликтует.

 <authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="~/sign-in" timeout="2880" requireSSL="true" cookieless="UseCookies" />
 </authentication>

После входа в систему через Microsoft я вижу, что нет .ASPXAUTH cook ie, только AppServiceAuthSession, однако при проверке формы я вошел в систему.

1 Ответ

0 голосов
/ 02 мая 2020

Я думаю, что вы можете решить эту проблему, удалив настройку авторизации в web.config и используя OWIN для внедрения промежуточного программного обеспечения (CustomMiddleware) перед аутентификацией самого веб-сайта. Если пользователь проходит проверку подлинности с помощью вашего CustomMiddleware, вы продолжаете свой обычный поток, в противном случае поток запросов замыкается. В CustomMiddleware вы можете проверить заголовки запроса, body et c, чтобы иметь аутентифицированного cook ie et c. Я полагаю, в вашем приложении есть конвейер стиля MVC. В inte rnet есть ряд ресурсов, которые вы можете изучить. Один пример ниже.

https://www.tutorialsteacher.com/core/how-to-add-custom-middleware-aspnet-core

...