Вы должны использовать Zend \ Permissions \ Acl. Проверьте раздел «Множественное наследование среди ролей». http://framework.zend.com/manual/2.0/en/modules/zend.permissions.acl.intro.html
use Zend\Permissions\Acl\Acl;
use Zend\Permissions\Acl\Role\GenericRole as Role;
use Zend\Permissions\Acl\Resource\GenericResource as Resource;
$acl = new Acl();
$acl->addRole(new Role('guest'))
->addRole(new Role('member'))
->addRole(new Role('admin'));
$parents = array('guest', 'member', 'admin');
$acl->addRole(new Role('someUser'), $parents);
$acl->addResource(new Resource('someResource'));
$acl->deny('guest', 'someResource');
$acl->allow('member', 'someResource');
echo $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';
Но в случае, если вы не хотите использовать ACL. то почему бы вам не добавить в свою регистрационную таблицу столбец разрешений целое число (1,2,3 ... до 7, я думаю) при входе в систему добавить это целое число в сеанс, а на каждой панели мониторинга вы проверяете номер разрешения, если нет разрешенный доступ, то вы перенаправляетесь на логин или домашнюю страницу.
Было бы разумнее использовать единый логин, но использовать Zend ACL для ограничения доступа и показывать пользователям только те параметры, к которым у них есть доступ. – Andrew