В любом случае, добавите вы или нет логику админа в клиентский код по умолчанию, при наличии уязвимостей в REST - их когда-нибудь найдут.
Если вам есть что скрывать и это сулит большими финансовыми потерями - прячте.
Если у вас не будет больших (критичных) убытков от простоя проекта в течении часа - это излишество, на которое пойдут деньги (время разработчика), а реально в этом нет необходимости.
Если это требование заказчика: объясните ему, что подобный подход к задачам увеличит расходы в 2 раза, а реальной необходимости в этом нет и его желание сразу куда-то денется.
У Layout есть state, в state хранится то, что нужно всем дочерним компонентам от Layout.
(собственно как и с любым другим компонентом).
Так же Layout имеет методы для работы со стоим state и предоставляет их дочерним компонентам от себя.
Любой другой дочерний компонент имеет свои обработчики, модифицирует/получает/вычисляет данные и использует метод который был передан из Layout