0

我正在学习 Laravel 5.6,我希望能够使用user存在于另一个数据库中的现有表。它仍然被称为用户,但其中包含大量数据。

为了实现这一点,我真的需要做两件事:

  • 让 Laravel 使用users与默认数据库不同的数据库
  • 将加密密码的方法更改为我的劣等方式(直到我真正开始为所有用户使用 bcrypt)

所以。对于第一点,我目前有我的 Laravel.env数据库变量指向我的测试数据库,laravel. 我想要的是让用户查找/身份验证使用usersshop数据库中的表。所以代替laravel.users它会是shop.users.

正如我之前提到的,我没有使用过很好的加密,但在我开始正确加密每个人的密码之前,我需要 Laravel 使用我自己的加密方法,(我知道这不是安全的)但是散列如下:

$hash = hash('sha256',$salt.$password.$salt);

这可能吗/我怎样才能实现这两件事?

4

2 回答 2

1

仅供参考,我通过简单地修改文件找到了我的问题的答案\config\auth.php。有一个数组被注释掉,看起来像这样:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users2',
    // ],  
],

我取消了这些部分的注释并将表格设置为 users2。那工作得很好。但是,这仍然是从同一个数据库加载的。因此,我将table字符串更改为:shop.users2并且它立即起作用。

简单的!虽然我找不到任何文档,但我很高兴它起作用了。

于 2018-02-27T11:06:48.257 回答
1

我也是 Laravel 的新手,但我很确定实现这一目标的最简单方法是将现有的商店数据库导入新的 Laravel 数据库。

从我收集到的信息来看,没有任何官方支持,但是编写一个小脚本应该很简单,该脚本使用常规 php sql 查询将所有数据从旧数据库传输到新数据库并循环所有数据进入新的。

或者只是使用一些非官方的包

于 2018-02-27T09:56:02.977 回答