Есть проект на node express passport angular. Есть задачи:
1) Записывать автора поста (При сохранении в бд id юзера будет вытягиваться из req.user, предварительно паспорт записывает туда информацию, которую я не могу прочитать с клиента)
2) Показывать актуальное имя пользователя и аватарку как это реализована на тостере (тупо делается гет запрос, где пользователь будет определяться по id, все из того же req.user, и нужная информация отправится на клиент) 3) Теперь самое главное, что я не могу понять. Мне нужно скрыть информацию от пользователя с определенной ролью, но где и как мне записать роль пользователя я не понимаю. 100% реализация лежит на поверхности, но серфил очень много и ничего не нашел. Нужна ваша помощь!
Алексей Тен, Под скрыть информацию я имею в виду пункты меню. Условно у меня есть 2 роли админ и менеджер. Менеджер не должен видеть пункты меню условно "Зарегистрировать пользователя". С помощью ACL я перекрываю http запросы данных страниц, то есть пользователь не сможет пользоваться данным функционалом, но он увидит пункт в меню "Зарегистрировать пользователя", так вот задача скрыть этот пункт меню от менеджера, но оставить у адамина.
1) хранить роль там же где у вас хранится пользователь (вы не указали откуда он берется - локальная бд, oauth, хз что еще) и получать роль как атрибут юзера в req.user
2) сделать таблицу в своей базе где хранить роли для каждого пользователя - для каждого id хранить роли. при необходимости получить роль делать запрос в базу с id из req.user, получать роли и делать то что нужно.
UI может получать роли или из токена (если например это OAuth/OpenID) или делать запрос на сервер при загрузке приложения/логине и получать роли оттуда.
В том то и проблема прочитать роль не проблема, проблема хранить ее, и читать.
Я реализовал такое решение скрытия данных. Я могу без каких либо проблем вытащить данные из бд, но куда их сохранить и как приминить?
И в чем именно проблема хранить роль и читать?
Если это фронт - храните где угодно, хоть в переменную сохраните. читать из переменной тоже проблем нет. Если у вас нет проблем вытащить "данные" (я так понимаю роль) из бд то вообще не понимаю что вам еще не хватает.
Сформулируйте понятнее вопрос.