Основное отличие разрешений IsAuthenticated и IsAuthenticatedOrReadOnly заключается в том, что они предоставляют разные условия доступа к ресурсам:
- IsAuthenticated разрешает доступ только для авторизованных пользователей. 13 Неавторизованные пользователи не могут использовать API для любых операций. 2
- IsAuthenticatedOrReadOnly предоставляет доступ на чтение только для неавторизованных пользователей, а авторизованным разрешает выполнять операции записи. 3 Запросы для неавторизованных пользователей разрешаются только если метод запроса — один из «безопасных»: GET, HEAD или OPTIONS. 4
Таким образом, IsAuthenticated подходит для конечных точек, доступ к которым разрешён только авторизованным пользователям, а IsAuthenticatedOrReadOnly — для конечных точек, которые должны быть доступны для чтения, но изменяться только авторизованными пользователями. 3