SaveLolliPoP
@SaveLolliPoP
1 / 0 = ∞

Где хранить данные пользователя?

Есть проект на node express passport angular. Есть задачи:
1) Записывать автора поста (При сохранении в бд id юзера будет вытягиваться из req.user, предварительно паспорт записывает туда информацию, которую я не могу прочитать с клиента)
2) Показывать актуальное имя пользователя и аватарку как это реализована на тостере (тупо делается гет запрос, где пользователь будет определяться по id, все из того же req.user, и нужная информация отправится на клиент)
3) Теперь самое главное, что я не могу понять. Мне нужно скрыть информацию от пользователя с определенной ролью, но где и как мне записать роль пользователя я не понимаю. 100% реализация лежит на поверхности, но серфил очень много и ничего не нашел. Нужна ваша помощь!
  • Вопрос задан
  • 424 просмотра
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
Есть два варианта:

1) хранить роль там же где у вас хранится пользователь (вы не указали откуда он берется - локальная бд, oauth, хз что еще) и получать роль как атрибут юзера в req.user
2) сделать таблицу в своей базе где хранить роли для каждого пользователя - для каждого id хранить роли. при необходимости получить роль делать запрос в базу с id из req.user, получать роли и делать то что нужно.

UI может получать роли или из токена (если например это OAuth/OpenID) или делать запрос на сервер при загрузке приложения/логине и получать роли оттуда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы