*/ class SecurityAwareStateMachine extends StateMachine { /** * @var AuthorizationCheckerInterface */ protected $authorizationChecker; /** * @param AuthorizationCheckerInterface $authorizationChecker */ public function setSecurityContext(AuthorizationCheckerInterface $authorizationChecker) { $this->authorizationChecker = $authorizationChecker; } /** * {@inheritdoc} */ public function can($transition, array $parameters = array()) { $transition = $transition instanceof TransitionInterface ? $transition : $this->getTransition($transition); if (!$this->authorizationChecker->isGranted($transition->getName(), $this->getObject())) { return false; } return parent::can($transition, $parameters); } } __halt_compiler();----SIGNATURE:----I4nmErj0iIG2sB+Bz+ndNlLoMCM0bBY1Y58sBI2w5vy+6h4umrESys9U1RAuQzoaYSn3/kegLplxE4dqTbBY3y2NwMkXd32qP3c7TTHrokzZ0wT/g/VTN5h8GU7O/h2L2N5ldFaSwnf+NGOqJ3ZYKT2qn7wFOVgLWZkN+dKyK2He0OEIZsDo4FzgO8GPXjCOiDm6YkIv+4H2zxsGv9ApbwU+k3HRJVXa7BTGK9+ZlJCAd+BL6jQ3zbAXW9RwJ4QFgU+IY1FVouB8qyrNLqyNZNs3tYtCc8C3kot6R28vL3tqD7+nHTrK1HR0cpmhGvEA5c4nf0XmBJYo00Q5n23nL+bi4KjCVnX4mirUY8bLfRRgXkn4wT85EH/tBTPeyKOPF6nYrJu5Ukp5w76FzuBRjxM/P47+JpWdvgfLbgNAWBvvtAI24MloPpqAAyZreyOU619sje2315H9+3TD5aXjmFnH/PCNENj9w9Er0P/5u31lE1uh5xSFZtsUludldrc33kJJUabxBKikWp9rM04yeQCOVUNKqMX+IfvNbjQUZBUJxAtYKNW0u/0sjkStb44sk4PkGZSogOfH1TIH/POQmFg3KAzZZl2N+NOif4xhBE77lW+wgN0EgYUMJ7Vl0QZBXJO4MLddgIbMYDahLL6rwjhONfWyEqbyzfEcE29h2zo=----ATTACHMENT:----MjQ1MjQzNzQxMjg3OTUyNSA1OTI5Mjc0MjUwNTI5NzcxIDY4OTY1OTYzMjA5NDQ4MzQ=