0

我需要将遗留系统迁移到 Laravel。我正在使用 PHP 5.6,我们有一个使用会话和 cookie 来个性化一些用户内容的登录系统。好吧,我想迁移我系统的某些部分,我认为第一个部分将是登录,我认为我需要在 Laravel 和旧 PHP 之间共享登录,但是更好的方法是什么?用户密码没有进入 bcrypt 加密,我需要将“登录”共享到旧系统页面,新页面迁移到 Laravel..

谢谢

4

1 回答 1

1

创建一个新的 ServiceProvider 例如LegacyHashProvider

namespace App\Providers;

use App\Services\LegacyHasher;
use Illuminate\Support\ServiceProvider;

class LegacyHashProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->singleton('hash', function ($app) {
            return new LegacyHasher($app);
        });
    }

    public function provides()
    {
        return ['hash'];
    }
}

创建一个LegacyHasher实现Illuminate\Contracts\Hashing\Hasher接口的类。写下您的方法(覆盖),例如;

public function make($value, array $options = [])
{
    return hash('sha512', $value); // this will be your legacy hashing system 
}

导航到 config/app.php 并替换Illuminate\Hashing\HashServiceProvider::classApp\Providers\LegacyHashProvider,它应该可以使用您的旧登录系统了。

于 2020-06-01T14:07:43.727 回答