Symfony将任意数据设置为匿名访问者会话

斯特凡

使用Symfony 3.0.7

简单地说:

我无法为匿名用户设置会话中的任意数据并将其检索到会话中。

换一种说法 ..

我通常从任何几行控制器中的会话对象中检索数据:

public function dummyAction(Request $request)
{
    # …
    $session = $request->getSession();
    $my_datas = $session->get('my_key');
    # …

直到今天,仍需要(并使用)在标准配置的防火墙后面的url上的URL,这意味着使用loginlogin_check密钥以及用户提供程序等。

现在,我需要一个新的防火墙来保护新区域:/api/.+
该区域必须是无状态的,但是特殊的uniq URI / api / signup必须允许会话。
因此,我创建了以下防火墙

firewalls:
    apisignup:
        pattern: api/signup
        anonymous: ~
    api:
        pattern: /api/
        provider: usr
        stateless: true
        lexik_jwt: ~

我需要做的就是在访客点击时将单个标量值(验证码解决方案)保留在会话中

GET http://192.168.0.5/app_dev.php/en/api/signup

然后,在POST到相同的URL上,我需要检索该值。

注释
当前,无论我是通过GET还是POST来访问此URL,服务器响应都始终包含“ set-cookie”标头,就好像浏览器只是丢弃此命令并且不会在下一个请求中传递cookie一样。

我使用以下代码段进行了测试:

### SERVER SIDE
/**
 * @Route( "/signup", name="api_signup")
 * @Method( {"GET","POST"} )
 */
public function signupAction( Request $request )
{
    $session = $this->get('session');
    if ( $request->isMethod('POST') ) {
        $datas = $request->request->all();
        return new JsonResponse([
            'received' => $datas['captcha']
            ,'captcha' => var_export($session->get('captcha'), true)
        ]);
    }
    $session->set('captcha','foobar');
    return new JsonResponse(['challenge' => 'foobar']);
}

### CLIENT SIDE
$.ajax({
    url:'http://192.168.0.100/app_dev.php/en/api/signup'
    ,method: 'get'
    ,success : function(datas){
        // datas.challenge && $('#captcha').html(datas.challenge) &&
        $.ajax({
            url:'http://192.168.0.100/app_dev.php/en/api/signup'
            ,method: 'post'
            ,data: {
                captcha: 'foobar' // prompt("Captcha ?")
                // ...
            }
        });
    }
});

POST JsonResponse“验证码”值始终包含null

有什么想法(“我想念” |“可能导致这种行为”)吗?
谢谢你。

心律失常

我敢打赌,您是从另一个域发出请求。
在这种情况下,请注意CORS要求:

  1. 服务器端,Access-control-allow_credentials 标头必须设置为true
  2. 客户端,withCredentials xhr属性必须设置为true

然后,您的XHTTP请求将通过该请求推送该域的所有可用的cookie。确保设置适当的限制策略以降低CSRF的风险

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PostgreSQL中将输入时间戳分组为访问者特定的“会话”?

来自分类Dev

会话数据以错误的访问者结尾?那怎么可能?

来自分类Dev

使用会话或其他方法记录访问者数据?

来自分类Dev

为ASP.NET中的第一个访问者设置缓存对象

来自分类Dev

Symfony3 / Doctrine是否为每个访问者打开一个MySQL连接?

来自分类Dev

通过DTM在Adobe Analytics中设置访问者ID

来自分类Dev

为特定网站的访问者禁用Chrome扩展程序?

来自分类Dev

有了访问者数据表,如何获得每小时的总访问者和唯一身份访问者总数?

来自分类Dev

有了访问者数据表,我如何获得每小时的总访问者和不重复访问者总数?

来自分类Dev

刷新访问者的缓存

来自分类Dev

OCaml访问者模式

来自分类Dev

计算每个访问者在R中的唯一会话

来自分类Dev

计算每个访问者在R中的唯一会话

来自分类Dev

转发到我的Web服务器计算机的端口将访问者IP捕获为我的公共IP

来自分类Dev

允许plone网站匿名访问者仅看到最后修改日期(但没有作者姓名)

来自分类Dev

允许plone网站匿名访问者仅看到最后修改日期(但没有作者姓名)

来自分类Dev

如何设置和调用ANTLR4 Javascript访问者

来自分类Dev

Mongoid,在Mongoid历史宝石中设置自定义访问者字段

来自分类Dev

在Rails中为桌面和移动访问者提供单独的js代码

来自分类Dev

在现代C ++中为层次图定义内联访问者

来自分类Dev

为许多用户实施访问者统计信息

来自分类Dev

在Rails中为桌面和移动访问者提供单独的js代码

来自分类Dev

是否可以在使用设计 gem 时为访问者包含一个页面?

来自分类Dev

每天的Flot Graph访问者

来自分类Dev

python中的访问者模式

来自分类Dev

PHP中的访问者模式

来自分类Dev

Rails当前访问者数

来自分类Dev

Antlr4 Javascript访问者

来自分类Dev

如何发布网站却阻止访问者?

Related 相关文章

  1. 1

    如何在PostgreSQL中将输入时间戳分组为访问者特定的“会话”?

  2. 2

    会话数据以错误的访问者结尾?那怎么可能?

  3. 3

    使用会话或其他方法记录访问者数据?

  4. 4

    为ASP.NET中的第一个访问者设置缓存对象

  5. 5

    Symfony3 / Doctrine是否为每个访问者打开一个MySQL连接?

  6. 6

    通过DTM在Adobe Analytics中设置访问者ID

  7. 7

    为特定网站的访问者禁用Chrome扩展程序?

  8. 8

    有了访问者数据表,如何获得每小时的总访问者和唯一身份访问者总数?

  9. 9

    有了访问者数据表,我如何获得每小时的总访问者和不重复访问者总数?

  10. 10

    刷新访问者的缓存

  11. 11

    OCaml访问者模式

  12. 12

    计算每个访问者在R中的唯一会话

  13. 13

    计算每个访问者在R中的唯一会话

  14. 14

    转发到我的Web服务器计算机的端口将访问者IP捕获为我的公共IP

  15. 15

    允许plone网站匿名访问者仅看到最后修改日期(但没有作者姓名)

  16. 16

    允许plone网站匿名访问者仅看到最后修改日期(但没有作者姓名)

  17. 17

    如何设置和调用ANTLR4 Javascript访问者

  18. 18

    Mongoid,在Mongoid历史宝石中设置自定义访问者字段

  19. 19

    在Rails中为桌面和移动访问者提供单独的js代码

  20. 20

    在现代C ++中为层次图定义内联访问者

  21. 21

    为许多用户实施访问者统计信息

  22. 22

    在Rails中为桌面和移动访问者提供单独的js代码

  23. 23

    是否可以在使用设计 gem 时为访问者包含一个页面?

  24. 24

    每天的Flot Graph访问者

  25. 25

    python中的访问者模式

  26. 26

    PHP中的访问者模式

  27. 27

    Rails当前访问者数

  28. 28

    Antlr4 Javascript访问者

  29. 29

    如何发布网站却阻止访问者?

热门标签

归档