Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用symfony2在param请求中获取id为会话的用户_Symfony - Fatal编程技术网

如何使用symfony2在param请求中获取id为会话的用户

如何使用symfony2在param请求中获取id为会话的用户,symfony,Symfony,我正在尝试用Symfony2做一个小API 我使用如下URL向控制器发送会话id: localhost/symfony2/web/app_dev.php/users/getuser/c5auv7mrp45rnd046cfv0vgl96 然后,在Symfony /** * @Route("/getuser/{sessionId}") */ public function getSessionAction(Request $request, $sessionId) { // Here i

我正在尝试用Symfony2做一个小API

我使用如下URL向控制器发送会话id:

localhost/symfony2/web/app_dev.php/users/getuser/c5auv7mrp45rnd046cfv0vgl96

然后,在Symfony

/**
 * @Route("/getuser/{sessionId}")
 */
public function getSessionAction(Request $request, $sessionId)
{

   // Here is what i'm trying to do



    $packJson = array(
        'user_id' => $userid
    );

    $response = new JsonResponse();
    $response->setData($packJson);
    return $response;
}
因此,我只想使用sessionId参数检索我的用户Id。 当然,它将从Db加载

我不理解会话对象和用户对象之间的逻辑


谢谢

我想您应该使用令牌来识别用户。这意味着数据库中的每个用户都有一个令牌。如果这是正确的,那么它与会话或会话对象无关

您可以使用以下简单方法检索您的用户:

/**
 * @Route("/getuser/{token}")
 */
public function getSessionAction($token)
{

    $em = $this->getDoctrine()->getManager();

    $entity = $em->getRepository('AdminBundle:User')->findOneBy(array('token' => $token);

    $response = new JsonResponse();

    if (!$entity) {
        $response->setData('error' => 'bad token');
        return $response;
    }

    $packJson = array(
        'user_id' => $entity->getId()
    );

    $response->setData($packJson);
    return $response;
}

好的,看起来很酷,但我不明白如何生成令牌?我的sessionId来自Ajax请求。我怎样才能在Symfony中创建一个令牌并将其发送到我的javascript应用程序?我想知道你想创建什么。您需要API上的安全性吗?