FOS 用户创建时列"盐"不能为空



它在一段时间前工作了,但由于某种原因,它会产生异常。我有自定义用户实体,它扩展了fos用户:

namespace AppBundleEntity;
use FOSUserBundleModelUser as BaseUser;
use DoctrineORMMapping as ORM;
/**
* @ORMEntity(repositoryClass="AppBundleRepositoryUserRepository")
* @ORMTable(name="fos_user")
*/
class User extends BaseUser
{
...
}

我的自定义类中没有setSalt()。正如我在倾倒SQL查询中看到的那样,正确设置了其他非自定义字段(email_caronical,enabled,password,...)。我还能检查什么?

update

我做了作曲家更新。这是我的composer.json

"require": {
    "php": ">=5.5.9",
    "symfony/symfony": "3.2.*",
    "doctrine/orm": "^2.5",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/doctrine-cache-bundle": "^1.2",
    "symfony/swiftmailer-bundle": "^2.3",
    "symfony/monolog-bundle": "^2.8",
    "symfony/polyfill-apcu": "^1.0",
    "sensio/distribution-bundle": "^5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "^2.0",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "hwi/oauth-bundle": "^0.5.1",
    "twig/extensions": "^1.4"
},

您必须放下模式并重新创建它。您的盐列应允许为无效,因为使用bcryp算法时,它确实是无效的,因为盐直接包含在密码(哈希)中。此外,这是映射声明:

<field name="salt" column="salt" type="string" nullable="true" /> 

ps:以及其他建议,更新所有捆绑包,清除缓存,数据库及其数据...


更新:

per dmedia,他们在最近的更新中更改了学说映射(2016年11月)

相关内容

  • 没有找到相关文章

最新更新