Cara, fiz um esquema aqui que nao sei se é certo, mas que pelo menos pra mim ficou legal (ate eu pensar em uma coisa mais elegante heeh)
eu criei uma classe perfil (onde dentro dela tem um objeto “modulos” e outro “funções”)… ai no banco tem la os registros indicando o q cada perfil pode fazer (administrador, usuario, gerente) etc… qdo o cara loga, ele monta o menu dinamicamente, entao ele so visualiza o q o perfil dele permite