Я создаю приложение, в котором у разных пользователей будут разные пункты меню, в зависимости от того, за что они заплатили. В иерархии меню также будет несколько уровней.
Как лучше всего подойти к этой проблеме?
Я предполагаю, что мне нужна таблица базы данных, которая представляет иерархию меню, включая отношения родитель-потомок узлов в навигации, а также сортировку элементов. Затем еще одна таблица, которую я использую для управления правом доступа пользователя к определенному элементу в этой таблице.
Когда я рендерил вид, я ссылался на меню и права доступа пользователя для вывода меню, и мне также требовалась бы функция для проверки той же самой авторизации от каждого контроллера в случае, если пользователь вводит вручную в URL контроллера они не должны иметь доступ.
Это правильный подход? Любые предложения для кэширования этого, чтобы предотвратить постоянный поиск информации такого типа? Я открыт для любых предложений о том, как вы могли подойти к этому типу требований.