代码之家  ›  专栏  ›  技术社区  ›  Dhaval Chheda

从laravel 5.0到laravel 5.6的密码迁移

  •  2
  • Dhaval Chheda  · 技术社区  · 6 年前

    users 桌子 password

    之前:-$2y$10$KPCJK7wZ5lHdFMw7y3fchO3qXBvEuqS8wXzvH6vanETH5Pe7CBWVG

    我需要一些方法来防止拉雷维尔散列密码。我这样做是为了迁移我的users表:

    $user = new User;
    $user->password = $request['password'];
    $user->save();
    

    我用的是 User::create() 但它也有同样的问题。

    我真的很困惑和卡住了,任何关于这方面的建议都会很有帮助。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Tim Lewis    6 年前

    听起来像是 User 模型会自动散列传入的任何值 password ,不管它是否已经散列。我不确定是否有一个直接的方法来禁用这种行为(可能是,但不确定是什么) 用户 is-Basic Laravel Auth、Sentinel、Spatie等),因此解决方法是使用 DB 从门面绕过 用户

    DB::table("users")->insert([
      "password" => $request->input("password"), // or $request["password"]
      ...
    ]);