Где держать админку в приложении на React + Node JS?
Делаю один небольшой сайт для одной клиники, куда надо прикрутить админку (решил поставить React-admin).
В проекте есть папка client где весь фронт. И вот не знаю как правильно мне интегрировать админку. Создать для неё отдельную папку вне client папки, и запускать её на отдельном порте, или же встроить её в фронт и получать доступ к нему через сам же сайт через app.com/admin?
Насколько это правильно с точки зрения безопасности когда админка по сути находится внутри сайта?
Просто однажды я работал в команде над одним проектом, где вся админка была по сути отдельным сайтом вне приложения.
Если у вас есть сервер + апишка на ноде через который клиент стучится на сервер, и к этому же апи хотите прикрутить админку то нет разницы как ее будешь делать отдельным сайтом или в фронт встроишь.
А какая разница? Процесс авторизации должен производиться на сервере при каждом запросе. Ну откопает кто интерфейс админки с фронта, а дальше что? Прав же у него нет. А если он как-то получит права, то и доступ к интерфейсу админке у него и так и так будет.
Alexandr199, Когда проект большой и высоко нагруженный то да. Ибо к серваку могут стучаться не только из фронтенда, но и микросервисы, мобилки и т.д. И поэтому в нормальных крупных проектах под фронт чаще всего на ноде пишут апишку которая стучится уже на сервак.
Публичный сайт для клиники - я бы админку на отдельном порту запускал. Ибо сложно представить что все в клинике опытные пользователи, которые заботятся о безопасности. Тем более, что к админке скорее всего доступ будет иметь не сисадмин, а еще и какие-нибудь директор/замдиректора клиники, которые даже Хабр не читают.
В идеале вообще админку наружу не пускать, и разрешить доступ только из локалки клиники или по отдельному VPN