У меня есть разрешения и роли, встроенные в администратора внутри zf2.
Я хочу переместить охранников из файла конфигурации в БД.
Я вижу, что есть GuardInterface, но я не вижу руководства в документах zfc-rbac.
https://github.com/ZF-Commons/zfc-rbac/blob/master/docs/04.%20Guards.md
Я попытался отразить реализацию поставщика ролей, я не получаю никаких ошибок, но охранники, похоже, не инициируют.
Есть ли руководство, которым я могу следовать, чтобы помочь мне реализовать это?
Есть несколько способов сделать это.
Вы можете сразу перейти к делу и заменить GuardFactory, и вместо загрузки ваших охранников из опций модуля вы можете загрузить их из вашей БД.
Тем не менее, это кажется немного уродливым и может привести к путанице (так как опция модуля охраны все еще существует).
Ваш второй выбор — переопределить ModuleOptionsFactory (и, возможно, сам ModuleOptions), чтобы извлечь массив конфигурации Guard из вашей БД, а не файл конфигурации.
Третий вариант — обернуть все, что обращается к охранникам, в какой-то «GuardProviderInterface» и поместить вашу БД за этим, но этот вариант — самый значительный объем работы, с наибольшим количеством точек соприкосновения и рефакторинга.
Других решений пока нет …