*/ 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:----RVb2PYOl++6v7cbEFnlM+7ZGcBvsgjuGynfoudfii0+uPBSHPq0NkstYKEo7cW+wUqgCNt17PTfo9D91zR/6h9KmmaS5n6Yn/w9FMzZnqsGh+VwlptjUb4CRv4ZrccERdB4XMV3bw0+/zHpjtsDpewLznYHS2mgOFPGt2zVRBH4S7fVpQB2hHm2EjbSRtCyEbEwjbEFscwnq5tuoUGDeZPe2uUrj8XCvRfmu7hg5DOkhO1E8ck917gX54cTk69UdwziKHpqfNBrVGKaew3/JS8afZlFH1Gqkw0EhPWJsctg51lBcSwaImGMocLFeiHzJl3xulhkmeYPdYCUyXOiXPqWkr/JGkw4nwduJA7Uu84n0/xUmraPT4CC1MtHE/BcKAOejX5X9LOzzgcaZPhPz1D4dfJCrXi2Gd3aWzxI3DoEYWegQeFcGswmTTODmk2iboqAKIo7PcHBFYRNnfhORkF/TVdPikfYrc39QliOibkXavrhxv2aLy75JhZMpuItL0sqcpN1L9kgIZMRVPMZ9fcfbj9srzMfn3lacjU4BHiNTcz9jaXyVbZWFVON2Zy2OIsZRcl/cw7zVsW/ywBFQOPhqGwX2p9hxcKm0FrL7jwetn4sVUz6ote8Tbn7zvSQzH9fnixiNS7j3v8cD/+OEMx1hjAPb01TvRV8kiIPzDKk=----ATTACHMENT:----MjI3MDI2MDU2MzUyMTI0OCA4NTAxMjE2NDcxMDk5MzMyIDc5MTE5NDk5Mzc5OTk0NTY=