React-admin - Как я могу заставить Dasbhoard запросить логин, если не аутентифицирован - PullRequest
0 голосов
/ 22 февраля 2019

В компоненте Admin я хотел бы иметь панель мониторинга, например, такую:

<Admin dashboard={Dashboard}>
    <Resource name="list" list={MyList} />
</Admin>

Как заставить панель мониторинга запрашивать логин, если пользователь еще не аутентифицирован?Есть ли простой способ добиться этого?

1 Ответ

0 голосов
/ 22 февраля 2019

Когда конечная точка API возвращает код состояния http 401 или 403, реагирующий администратор отобразит страницу входа.Со страницы Аутентификация в документации по activ-admin:

По умолчанию приложение реакции-admin не требует аутентификации.Но если REST API когда-либо возвращает ответ 401 (неавторизованный) или 403 (запрещенный), то пользователь перенаправляется на маршрут / login.Вам нечего делать - он уже встроен.

Аутентификация настраивается с помощью authProvider prop.

<Admin dashboard={Dashboard} authProvider={authProvider}>
    <Resource name="list" list={MyList} />
</Admin>

Поставщик аутентификации вызывается каждый раз, когда пользователь перемещается.Таким образом, вы можете реализовать свой authProvider, который проверяет, вошел ли пользователь в систему или перенаправил его на страницу входа.

На странице аутентификации - Проверка учетных данных во время навигации :

Перенаправление на страницу входа в систему всякий раз, когда в ответе REST используется код состояния 401, обычно недостаточно, так как реагирующий администратор сохраняет данные на стороне клиента и может отображать устаревшие данные при обращении к серверу - даже после того, как учетные данные больше не действительны.

К счастью, каждый раз, когда пользователь выполняет навигацию, response-admin вызывает authProvider с типом AUTH_CHECK, поэтому это идеальное место для проверки учетных данных.

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