Итак, я знаю, насколько безопасны ресурсы в бэкэнде REST, это не проблема.У меня проблема в том, как управлять управлением пользователями / правами как в REST API, так и в клиентских приложениях / front-end?
Рассмотрим следующий пример. У меня есть порядок ресурсов и счета в моем API, и я такжеУ меня есть порядок маршрутов, счета и панель инструментов в моем приложении, написанном на angular / реагируют, для простоты мы должны назвать эти страницы.Я могу хранить права в базе данных для каждой роли / пользователя в отношении конечных точек и глаголов, но это нормально, но как мне управлять одним и тем же на внешнем интерфейсе?В этом примере возможно, что накладные, заказы и панель инструментов могут каким-то образом использовать оба ресурса, так что это не отношение один к одному, и с точки зрения пользователя кажется, что он имеет права на страницы.Как мне сохранить эти отношения?
Должен ли я хранить эти интерфейсные модули / страницы / маршруты в бэк-энде, а также сопоставлять их с конечными точками REST, однако такой подход не нарушает принцип единой ответственностиа также мешает адаптации новых клиентских приложений и масштабируемости?Если нет, то я должен кодировать конечные точки, глаголы, к которым у пользователя есть доступ, в JWT, и пусть клиентское приложение решает, что с ним делать, используя какое-то отображение между конечными точками и страницами на стороне клиента, однако в этом случае я буду увеличиватьразмер JWT, который растет в геометрической прогрессии при увеличении моих конечных точек?
В моем случае ситуация еще сложнее, потому что приложение переднего плана также отвечает за назначение прав пользователям.Думайте об этом как о механизме рабочего процесса или управлении правами, где пользователь-администратор определяет роли и дает разрешение на разные страницы (с точки зрения пользователя).
Может кто-нибудь рассказать мне лучшие практики для реализации такого рода функциональности.У меня не было такой проблемы в старые времена без отдыха и веб-приложений, таких как JSF / ASP.NET, потому что у меня есть только одно место для сохранения прав, но приложение на основе REST меняет эти правила.