Итак, у меня нет опыта работы с Laraval, и я пытался создать Auth, который не использует таблицу Users по умолчанию. Я следил за некоторыми руководствами и в итоге получил собственный Auth, который, по крайней мере, не выдает ошибку неправильной базы данных или что-то вроде этого, но при попытке входа в систему продолжает выдавать ошибку неправильного пароля или имени пользователя.
Таблица, которую я пытаюсь использовать, называется usuaris , а столбцы для входа в систему: nomUsuari и contrasenya .
Это мой собственный файл аутентификации:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class customAuth extends Authenticatable
{
use Notifiable;
protected $table = 'usuaris';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'nomUsuari','contrasenya'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'contrasenya',
];
public function getAuthPassword()
{
return $this->contrasenya;
}
}
Auth. php conf:
'defaults' => [
'guard' => 'web',
'passwords' => 'usuaris',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
'web' => [
'driver' => 'session',
'provider' => 'usuaris',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'usuaris' => [
'driver' => 'eloquent',
'model' => App\customAuth::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
'usuaris' => [
'provider' => 'usuaris',
'table' => 'password_resets',
'expire' => 60,
],
],
И функция для проверки:
function checklogin(Request $request){
$this->validate($request, [
'nomUsuari' => 'required',
'contrasenya' => 'required'
]);
$user_data = array(
'nomUsuari' => $request->get('nomUsuari'),
'password' => $request->get('contrasenya')
);
//print_r($user_data);
if(Auth::attempt($user_data)){
return redirect('successlogin');
} else {
return back()->with('error', 'Datos incorrectos');
}
}
Изображение таблицы ususaris и пользователя, пытающегося использовать