【问题标题】:Authentication via rest with symfony2使用 symfony2 通过 rest 进行身份验证
【发布时间】:2012-02-10 23:53:33
【问题描述】:

我是 symfony2 的新手,我正在尝试通过 rest api 与 FOSUserBundle 连接。 Web 浏览器身份验证工作正常,我可以使用 FOSUserBundle 创建用户。 事实上,我想用 Symfony 构建一个 web 服务。 如何连接用户 vie rest ? 用 symfony2 轻松使用 rest 是不是一个 bundle?

谢谢。

【问题讨论】:

标签: web-services rest symfony


【解决方案1】:

我建议使用“Wsse”作为授权方法。

您可以在this post 阅读有关此内容的信息。 甚至还有 a bundle 提供 wsse 例程。

关于使您的应用程序支持 REST,我建议使用 FosRestBundle

【讨论】:

    【解决方案2】:

    为了对用户进行身份验证,首先您创建一个将获取用户名和密码的操作。然后根据用户名和密码从数据库中查找用户。要像在数据库中一样通过,您必须在 FOSUserBundle 中输入密码。稍后您需要创建 UsernamePasswordToken。为此,您可以在操作中使用以下代码

    $providerKey = $this->container->getParameter('fos_user.firewall_name');
    $token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
    $this->container->get('security.context')->setToken($token); 
    

    我想它会对你有所帮助。

    【讨论】:

    • 这是错误的答案。 REST API 必须具有自定义身份验证提供程序,以便不使用 cookie 来维护登录用户。这是一篇关于如何做到这一点的好文章。 symfony.com/doc/2.0/cookbook/security/…
    猜你喜欢
    • 2013-02-02
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    相关资源
    最近更新 更多