爱丽丝捆绑-如何在yml夹具中使用编码密码

时间:2019-02-01 20:52:15

标签: php symfony alice-fixtures

我使用hautelook / alice-bundle。

由于以下错误($被解释为对对象的引用),我无法在装置中使用编码的bcrypt密码:

在SimpleObjectGenerator.php第114行中:

生成夹具“学员”(App \ Document \ Trainee)时发生错误:在生成过程中无法解析值。

App\Document\Trainee:
# template
trainee (template):
    firstName:              <fr_FR:firstName()>
    lastName:               <fr_FR:lastName()>
    email (unique):         <fr_FR:email()>
    password :              $2y$13$I5uLW8atzRPmC3NcvirYqO2htdMHH1l4uFQ3z0V8wHowO0FqTXl7u
    plainPassword:          password
    birthdate:              <date('now')>
    address:                '@address_tr_*'
    phoneNumber:            <fr_FR:phoneNumber()>
    profileCompleted:       false

您知道为什么吗?谢谢

3 个答案:

答案 0 :(得分:0)

您可以将散列密码放在参数中,如下所示:

WebView#getSettings().setUseWideViewPort(true);

答案 1 :(得分:0)

您必须简单地使用$对每个\$进行转义

例如:

App\Document\Trainee:
    trainee (template):
        [...]
        password: '\$2y\$13\$I5uLW8atzRPmC3NcvirYqO2htdMHH1l4uFQ3z0V8wHowO0FqTXl7u'

答案 2 :(得分:0)

我建议您仅在测试环境中设置一个纯文本编码器,然后在灯具中设置一个纯文本密码。

首先,在test环境中切换到纯文本密码编码器:

# config/packages/test/security.yaml
security:
    encoders:
        App\Entity\User:
            algorithm: plaintext

然后在您的装置中:

App\Entity\User:
    user1:
        username: user1@example.com
        password: 'password'

您现在可以在测试中使用纯文本密码:

public function testLoginWithUsernameAndPassword()
{
    $response = static::createHttpClient()->request('POST', '/api/login', ['json' => [
        'username' => 'user1@example.com',
        'password' => 'password'
    ]]);

    // assert $response
}