【发布时间】:2022-05-06 06:38:26
【问题描述】:
如何在 laravel 8 中使用预先存在的表(但表名为 Users_system 而不是 Users)创建自定义身份验证,并且该表(Users_system)充满数据并且没有与 Laravel 的用户相同的字段?
【问题讨论】:
-
欢迎来到SO ..您可以基于
session或cookies创建自己的身份验证系统并创建自己的中间件来保护
如何在 laravel 8 中使用预先存在的表(但表名为 Users_system 而不是 Users)创建自定义身份验证,并且该表(Users_system)充满数据并且没有与 Laravel 的用户相同的字段?
【问题讨论】:
session或cookies创建自己的身份验证系统并创建自己的中间件来保护
适用于 Laravel 初学者,他们希望在不使用任何 Laravel 软件包的情况下,使用基于邮件的身份验证和基本 CMS 功能设置管理面板或仪表板。 AdminLTE 默认集成。只需从以下地址下载 LaraShade:https://github.com/agni-s-chakraborty/larashade
【讨论】:
您的数据库中不必有相同的字段。如果要为新表创建新模型,请创建 UserSystem 模型并将所有 App\User 实例替换为 App\UserSystem 模型。
如果要使用现有模型,只需更改App\User模型中的表名即可。
如果您有不同的用户名或任何身份验证凭据,则需要将Illuminate\Foundation\Auth\AuthenticatesUsers 类代码移动到App\Http\Controllers\Auth\LoginController。
以下是您需要更改的代码段。
protected function validateLogin(Request $request)
{
$request->validate([
$this->username() => 'required|string',
'password' => 'required|string',
]);
}
protected function credentials(Request $request)
{
return $request->only($this->username(), 'password');
}
//Mention your username here
public function username()
{
return 'user_name';
}
【讨论】: