小编faf*_*row的帖子

如何将密码编码器附加到Silex中的用户界面?

所以我试图创建一个新的Silex应用程序并使用包含的安全包.为了简单起见,我将使用基本密码编码.

根据Silex文档http://silex.sensiolabs.org/doc/providers/security.html,我创建了一个自定义用户提供程序.但是,此用户界面似乎不使用默认密码编码.

我可以成功地获取密码

$password = $app['security.encoder.digest']->encodePassword('foo');
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个例子时

// find the encoder for a UserInterface instance
$encoder = $app['security.encoder_factory']->getEncoder($user);

// compute the encoded password for foo
$password = $encoder->encodePassword('foo', $user->getSalt());
Run Code Online (Sandbox Code Playgroud)

我明白了

RuntimeException:没有为帐户配置编码器

在symfony2中,我会使用类似下面的内容

encoders:
        somename:
            class: Acme\DemoBundle\Entity\User
        Acme\DemoBundle\Entity\User: sha512
        Acme\DemoBundle\Entity\User: plaintext
        Acme\DemoBundle\Entity\User:
            algorithm: sha512
            encode_as_base64: true
            iterations: 5000
        Acme\DemoBundle\Entity\User:
            id: my.custom.encoder.service.id
Run Code Online (Sandbox Code Playgroud)

但这似乎不是这种情况.我似乎无法找到任何类型的setEncoder方法,所以我有点难过.

php symfony silex

5
推荐指数
1
解决办法
3497
查看次数

如何更新复合主键的一部分?

我有一个使用 CCK 内容字段来存储其大部分数据的 drupal 站点。

我想手动更改一些数据以指向不同的节点版本。

UPDATE content_field_table SET vid = '1234' WHERE nid = '12' AND vid = '123';
Run Code Online (Sandbox Code Playgroud)

问题是 content_field_table 有一个复合主键

PRIMARY KEY (`vid`,`delta`)
Run Code Online (Sandbox Code Playgroud)

因此,当我运行更新语句时,出现以下错误:

错误代码:1062 密钥“PRIMARY”的重复条目“52979-0”

如何根据需要更新视频?

php mysql drupal

2
推荐指数
1
解决办法
5114
查看次数

标签 统计

php ×2

drupal ×1

mysql ×1

silex ×1

symfony ×1