Assetic Bundles 缓存 Composer 配置 控制台 控制器 调试 部署 Doctrine 电子邮件 事件分发器 表达式 表单 前端 日志 分析器 请求 路由 安全 序列化 服务容器 会话 PSR 7 Symfony 版本 模板 测试 升级 验证 Web 服务器 Web 服务 工作流

发布于 2015-12-06 07:29:43 | 185 次阅读 | 评论: 0 | 来源: 网络整理

如果您的应用程序需要 HTTP 认证,跳过服务器变量的用户名和密码来生成客户端 createClient()

$client = static::createClient(array(), array(
    'PHP_AUTH_USER' => 'username',
    'PHP_AUTH_PW'   => 'pa$$word',
));

您也可以在每一个请求的基础数据上重写它:

$client->request('DELETE', '/post/12', array(), array(), array(
    'PHP_AUTH_USER' => 'username',
    'PHP_AUTH_PW'   => 'pa$$word',
));

当您的应用程序使用 form_login 时,您可以通过允许您的测试配置使用 HTTP 认证来简化您的测试。您可以使用以上的代码来在测试中进行认证,但是仍然使您的用户通过通常的 form_login 登陆。诀窍是在您的防火墙添加 http_basic 键(http_basic key),连同 form_login 键一起:

YAML:

# app/config/config_test.yml
security:
    firewalls:
        your_firewall_name:
            http_basic: ~

XML:

<!-- app/config/config_test.xml -->
<security:config>
    <security:firewall name="your_firewall_name">
      <security:http-basic />
   </security:firewall>
</security:config>

PHP:

// app/config/config_test.php
$container->loadFromExtension('security', array(
    'firewalls' => array(
        'your_firewall_name' => array(
            'http_basic' => array(),
        ),
    ),
));
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务