我需要将遗留系统迁移到 Laravel。我正在使用 PHP 5.6,我们有一个使用会话和 cookie 来个性化一些用户内容的登录系统。好吧,我想迁移我系统的某些部分,我认为第一个部分将是登录,我认为我需要在 Laravel 和旧 PHP 之间共享登录,但是更好的方法是什么?用户密码没有进入 bcrypt 加密,我需要将“登录”共享到旧系统页面,新页面迁移到 Laravel..
谢谢
我需要将遗留系统迁移到 Laravel。我正在使用 PHP 5.6,我们有一个使用会话和 cookie 来个性化一些用户内容的登录系统。好吧,我想迁移我系统的某些部分,我认为第一个部分将是登录,我认为我需要在 Laravel 和旧 PHP 之间共享登录,但是更好的方法是什么?用户密码没有进入 bcrypt 加密,我需要将“登录”共享到旧系统页面,新页面迁移到 Laravel..
谢谢
创建一个新的 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::class为App\Providers\LegacyHashProvider,它应该可以使用您的旧登录系统了。