gpt4 book ai didi

laravel - 如何在 laravel 身份验证中处理自定义列名、用户名和密码

转载 作者:行者123 更新时间:2023-12-02 06:35:07 24 4
gpt4 key购买 nike

我有一个名为 logindetials 的表,其中包含以下列

Login_Id | Login_Name | Login_Passwor | Login_Email | .......

当我尝试进行身份验证时,会导致错误,如下所示

Illuminate \ Database \ QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'username' in 'where
clause' (SQL: select * from `logindetails` where `username` = admin limit 1)

我在 config/auth.php 中尝试过这些

'table' => 'logindetails',
'username' => 'Login_Name',
'password' => 'Login_Passwor',

在 models/User.php 中

protected $fillable=array('Login_Name','Login_Passwor','Login_Email',...);
protected $primaryKey = "Login_Id";
protected $table = 'logindetails';
protected $hidden = array('Login_Passwor');
public function getAuthIdentifier()
{
return $this->getKey();
}
public function getAuthPassword()
{
return $this->Login_Passwor;
}
public function getReminderEmail()
{
return $this->Login_Email;
}

还有登录 Controller

if (Input::server("REQUEST_METHOD") == "POST") {

$validator=Validator::make
(Input::all(), ["userid" => "required","password" => "required"]);
if ($validator->passes()) {

$credentials = [
"Login_Name" => Input::get("userid"),
"Login_Passwor" => Input::get("password")];
if (Auth::attempt($credentials)) {
return Redirect::route("/");
}

}
$data["errors"] = new MessageBag(["password" =>
["Username and/or password invalid."]]);
$data["Login_Name"] = Input::get("userid");
return Redirect::route("login")->withInput($data);

}

但没有罗刹。请有人帮我解决这个问题

最佳答案

实际上,您可以使用其他方法来保留自定义密码字段。

只需执行以下操作:

假装您想要自定义密码 password 作为“Login_Passwor”。为此,只需在 models\User.php 中添加一个函数,如下所示

public function getAuthPassword() 
{
return $this->Login_Passwor;
}

现在在您的登录 Controller 中,只需对 Auth:attempt 进行此更改

$credentials = ["Login_Name" => Input::get("userid"),
"password" => Input::get("password")];

if (Auth::attempt($credentials))
{
return Redirect::route("/");
}

这个方法肯定有效,试过了

关于laravel - 如何在 laravel 身份验证中处理自定义列名、用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21498739/

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