сохранение userType в ReactJs в течение сессии - PullRequest
0 голосов
/ 16 февраля 2020

Я использую ReactJs и Nodejs с mysql в качестве моего бэкэнда, я поддерживаю сеанс пользователя через express -session и настройка заголовка cook ie в моем браузере. Проблема в том, что я хочу отображать компоненты в зависимости от роли (например, .admin или пользователь). Я отправляю userType из базы данных в приложение React в ответ на успешный вход в систему. Как я могу поддерживать и хранить этот userType в течение сеанса, чтобы я мог управлять своими ролями. Я не думаю, что локальное хранилище - хороший вариант.

PS: у меня также есть пара ключ: значение userType внутри cook ie, которую я получаю в своем браузере. Но я не знаю, как извлечь userType из повар ie

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

Хранение в cookie / локальном хранилище - это хорошо, вам просто нужно убедиться, что пользователь прошел проверку подлинности на стороне сервера для определенной привилегии.

0 голосов
/ 16 февраля 2020

Если у вас один повар ie, ie userType, вы можете просто сделать это в componentDidMount или любом другом подходящем месте управления:

let userType = document.cookie.split("=")[1]
console.log(userType) //your cokkie value

Иначе, если есть много файлов cookie, Вы можете следить за этим:

var cookies= {};
document.cookie.split(/\s*;\s*/).forEach(function(pair) {
    pair = pair.split(/\s*=\s*/);
    cookies[pair[0]] = pair.splice(1).join('=');
});
console.log(cookies.userType)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...