Поэтому я использую BjyAuthorize для охраны маршрута & правила для ресурсов, я использую утверждение в поставщиках правил BjyAuthorize, но они, кажется, выдают эту ошибку
Неустранимая ошибка: необработанное исключение «Исключение» с сообщением
«Сериализация« Закрытие »не допускается» в
/home/haris/Glide/vcgca/vendor/zendframework/zend-stdlib/src/PriorityQueue.php
по линии 178Исключение: Сериализация «Закрытие» не допускается в
/home/haris/Glide/vcgca/vendor/zendframework/zend-stdlib/src/PriorityQueue.php
по линии 178
Вот мой конфиг для провайдера правил:
'bjyauthorize' => array(
'resource_providers' => array(
'BjyAuthorize\Provider\Resource\Config' => array(
'Page' => array(),
),
),
'rule_providers' => array(
'BjyAuthorize\Provider\Rule\Config' => array(
'allow' => array(
array(array('user', 'user1'), 'Page', array('edit'), 'assertion.CheckManager'),
),
),
),
),
Вот моя фабрика классов утверждений:
class PageManagerAssertionFactory implements FactoryInterface {
public function createService(ServiceLocatorInterface $serviceLocator) {
$authentication = $serviceLocator->get('zfcuser_auth_service');
$entityManager = $serviceLocator->get('doctrine.entitymanager.orm_default');
return new PageManagerAssertion($authentication, $entityManager);
}
}
Это мой класс утверждения:
class PageManagerAssertion implements AssertionInterface {
protected $authentication;
protected $entityManager;
public function __construct($authentication, EntityManager $entityManager) {
$this->authentication = $authentication;
$this->entityManager = $entityManager;
}
public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) {
if ($resource instanceof Page) {
return false;
} else {
return true;
}
}
}
Я включил этот класс в конфигурации service_manager в module.config.php
'service_manager' => array(
'factories' => array(
//ASSERTIONS
'assertion.CheckManager' => 'AlphaPage\Assertion\PageManagerAssertionFactory',
//OTHERS
......
),
),
Я понятия не имею, почему я получаю эту ошибку, я выполнил все шаги, чтобы использовать модули, у меня есть утверждения в других модулях, которые работают совершенно нормально.
Любая помощь в этом отношении будет высоко оценена.
Задача ещё не решена.
Других решений пока нет …