Безопасно ли держать админку и пользовательскую часть в одном приложении?
Разрабатываю приложение на стеке Laravel + Inertia.js (Vue SSR).
Публичная часть с просмотром новостей, админ часть - написание новостей, управление категориями, то есть, примитивная CMS.
Но сейчас задался вопросом: а безопасно ли держать админку и пользовательскую часть в одном приложении написанный на Vue?
Так как Ziggy вываливает все роуты в json на морду, сделал разделение по роутам - админские роуты (admin.*) скрыл от лишних глаз, теперь они отображаются только админам соответственно. То же самое и с публичными страницами.
Но, я совсем дилетант во фронте, не знаю как Vue хранит собранное приложение, конкретно - SSR.
Грузит ли он компоненты и страницы из админ части в браузер пользователя, и доступны ли они где-то там, в коде, который собирает Vite?
Посмотрите получившийся код. А вообще используйте вот это https://router.vuejs.org/guide/advanced/dynamic-ro...
то есть когда пользователь с админской ролью то ему добавляются роуты именно для него.
И вообще монолит позволяет избежать кучи проблем.
* накладных расходов при соединении
* рассинхронизации кода
* необходимости дублировать код в 2 местах
С одной стороны держать админку где-то отдаленно - безопаснее, но как по мне, то безопаснее - не иметь дыр в админке и сервере, позволяющих туда залезть.
Держи ты админку хоть на серверах в бункере под землей в 200 метров, но если она криво реализована, то случайный гость получит все доступы.
Я имел ввиду сам код написанный на Vue - получается как одно приложение в котором админка и прочее, поэтому отсюда и вопрос: будет ли это все видно в браузере пользователя при сборке или по умному идет ленивая загрузка компонентов и страниц