如何使用不同的数据库登录?我用不同的用户和数据库登录时遇到问题?
AuthController
public function loginAksi(Request $request)
{
if ($request->email == null or $request->password == null) {
return redirect()->back()->with(['error' => 'Masukkan Email atau Password !']);
} else {
if (Auth::attempt([ 'email' => $request->email, 'password' => $request->password ])) {
$user = Auth::user();
if($user->level == 1){
return redirect()->route('admin.dashboard')->with(['success' => 'Selamat Datang']);
} elseif($user->level == 0){
return redirect()->route('user');
} else {
return redirect()->route('userlansia');
}
} else {
return redirect()->back()->with(['error' => 'Login Gagal !']);
}
}
}
我已经成功地使用了用户登录从默认数据库,如用户,现在我想登录一个不同的数据库
兰莎模型酒店
protected $fillable = [
'id_lansia',
'nama_lansia',
'tempat_lahir',
'tgl_lahir',
'alamat',
'No_tlp',
'NIK',
'No_BPJS',
'email',
'password',
'level',
'user'
];
protected $table = 'lansias';
protected $primaryKey = 'id_lansia';
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
kernel.php
protected $routeMiddleware = [
'admin' => \App\Http\Middleware\AdminMiddleware::class,
'user' => \App\Http\Middleware\UserMiddleware::class,
'userlansia' => \App\Http\Middleware\LansiaMiddleware::class,
];
有人能帮忙吗?
1条答案
按热度按时间t2a7ltrp1#
在Laravel中,你可以分别在java/database.php和java/auth.php文件中配置多个数据库连接和身份验证提供程序。
设置多个数据库连接:
在config/database.php中,在connections数组下定义数据库连接。例如,如果你想建立两个MySQL连接:
要将Eloquent模型用于不同的数据库,请在模型顶部指定连接:
设置身份验证提供程序:
在document/auth.php中,在providers数组下定义身份验证提供程序。如果每个连接有不同的用户模型:
要对特定表中的用户进行身份验证,请使用guard方法:
通过遵循这些步骤,您可以在Laravel应用程序中管理多个数据库连接和身份验证提供程序。