gpt4 book ai didi

database - 如何将 CodeIgniter 用户密码移动到 Laravel

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:40 24 4
gpt4 key购买 nike

我有一个 CI 项目,想将其数据库迁移到 Laravel 的数据库。

唯一的问题是它们有不同的散列用户密码的方法,所以我找不到将它们从一个数据库移动到另一个数据库的方法。

我已经用谷歌搜索了答案,但我发现没有人谈到迁移密码。

提前致谢。

最佳答案

我没有使用 CodeIgniter 的经验,也不知道它是如何进行密码散列处理的,但这是我解决问题的方法。

明确一点:如果您有实际密码(纯文本),您只能将密码“转换”为 Laravel 散列。由于您不存储普通密码,因此只有在用户登录我们在某处输入密码时,您才会拥有它。

因此,您必须意识到此迁移不会在几个小时内完成。您的所有用户都需要一些时间来输入他们的密码。

所以我要说的是,您应该为 CodeIgniter 密码在您的用户表中添加一个字段。我们称它为 ci_password。 (或者你可能只需要将旧的密码列重命名为这个并为 Laravel 密码创建一个新的)。

现在每次用户登录时,您首先检查 Laravel 密码是否存储在数据库中并尝试登录。如果没有存储 Laravel 哈希,请检查 ci_password。 (为此你必须让 CodeIgniters 散列在你的 Laravel 应用程序中工作。抱歉不能帮助你)

如果 ci_password 有效,使用用户输入的密码并生成 Laravel 哈希(使用 Hash::make('secret'))。将新哈希存储在数据库中并删除(设置为 NULL)ci_password

这样密码就会一个一个迁移,你什么都不用做。也许,在一个幸运的日子里,所有旧的散列都将被迁移,您可以删除数据库中的这个逻辑和列。

关于database - 如何将 CodeIgniter 用户密码移动到 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28518745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com