【问题标题】:How to set the username and password for the admin using database table?如何使用数据库表设置管理员的用户名和密码?
【发布时间】:2018-10-23 23:17:06
【问题描述】:

我为管理员创建了一个带有登录表单的网站。我的数据库中有管理表。我在表中添加了值,但是当我尝试登录时,密码不被接受。我的表如下

如何使用数据库表为管理员设置用户名和密码?

【问题讨论】:

  • 你想如何验证密码,通过加密/解密或哈希?
  • 解密.....
  • @KishenNagaraju 您将绝不解密已加密的密码,也不会以纯文本形式存储密码。在几乎 ANY 的情况下,您会尝试匹配两个哈希,如果它们匹配,则意味着它是正确的密码。
  • @ZubairNazerOliyat Laravel 带有开箱即用的散列。如果您使用标准身份验证脚手架,则需要将其设置为新表和模型“Admin”,否则默认情况下它将是“User”模型。您不应通过数据库创建用户,而应通过 Haider Ali 下面建议的应用程序创建用户。
  • @KishenNagaraju 在他的情况下,您不需要解密密码,这也比匹配哈希值更难。出于某种原因,密码已经并且应该被加密。

标签: php html mysql sql laravel


【解决方案1】:

您应该为密码创建一个哈希值,我建议使用 tinker。只需通过 cmd 进入您的项目目录并输入此命令

php工匠修补匠

然后输入下面的行来创建管理员。我假设你有 admins 表的管理模型!

$admin = new App\Admin;
$admin->name= "admin";
$admin->email="admin@admin.com";
$admin->password= Hash::make('password');
$admin->save();

【讨论】:

  • 这个 laravel 是内置的吗?我的意思是这会导致任何问题吗?我会有root权限吗
【解决方案2】:
$admin = new App\Admin;
$admin->name = "admin";
$admin->email ="admin@admin.com";
$admin->password = Hash::make('password');
$admin->save();

散列使用:

Hash::make('new_password');

bcrypt('new_password');

【讨论】:

    猜你喜欢
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2018-10-19
    相关资源
    最近更新 更多