0
私はコントローラを持っていますモバイルアプリケーションからJsonResponseを返すと、それぞれのアクションについて、ユーザーがトークンを使用して接続されていることを確認する必要があります。サービス認証でこのアクションを委任したいと思います。symfonyはサービスからJsonResponseを返します
$user = $this->em->getRepository('UserBundle:User')->findOneBy(array('email' => $username));
if (!$user) {
return new JsonResponse('User not found', 501);
}
$session = $this->em->getRepository('UserBundle:Session')->findOneBy(array('user' => $user->getId(), 'token' => $token));
if(!$session){
return new JsonResponse('Session not found', 501);
}
return true;
ここではすべて正常に動作しますが、コントローラでは結果を確認するためにこのテストを行う必要があります。
if($result instanceof JsonResponse){
return $result;
}
...
iは、コントローラ内のサービスと停止実行から直接JsonResponseを返すことができるか、このことを行うための任意の自己ベストソリューションがあります。