Я сейчас собираю архитектуру решения для веб-приложения и, скорее всего, go React. js для внешнего интерфейса, но, насколько я понимаю, похоже, что React довольно тесно связан с базой данных. и поэтому я планировал разработать несколько API REST, чтобы в первую очередь обеспечить функции CRUD (но также и для некоторых целей), но у меня есть некоторые уникальные потребности:
- Мне нужен механизм авторизации на основе абстрактных ролей чтобы проверить, какой доступ разрешен, перед предоставлением доступа к функции CRUD
- Авторизация должна учитывать сочетание: (я использую терминологию, связанную с базой данных здесь)
- Унаследованная авторизация через доступ к строке в родительской (или родительской) таблице
- Явная авторизация через доступ к роли, которая предоставляет CRUD-доступ к строке в самой таблице
- Производная авторизация через доступ к строке дочерней таблицы
- Бизнес-правила, разрешающие детальный доступ к некоторым полям на основе значение других полей (например, статус, дата / время) для сохранения целостности данных
- Веб-приложение будет работать с несколькими арендаторами, поэтому я должен быть очень осторожен с защитой от несанкционированных изменений данных
Хотя я действительно заинтересован в интеграции вещей, я хочу убедиться, что я не изобретаю колесо. Я в основном PHP -головец, привыкший к jQuery, Zend и Bootstrap, и поэтому мне нравится то, что может предложить React, больше внимания уделяю созданию красивых, удобных в использовании интерфейсов, но я новичок в React и мне нужно будьте очень осторожны, я не проектирую монолитную c архитектуру, которой будет сложно управлять с точки зрения безопасности, и / или заглядываю в архитектурный угол, если / когда придет время использовать приложение по разным каналам (например, для мобильных устройств) , chatbot et c). В настоящее время я рассматриваю AWS Cognito для IAMaaS.
Я проводил некоторые исследования, но не могу найти то, что искал. Ролевая маршрутизация не обязательно выглядит достаточно для того, чего я пытаюсь достичь из того, что я вижу. Существуют ли какие-либо популярные и зрелые дополнительные ресурсы / дополнения к React, которые я должен строго рассмотреть? ТИА.