Поэтому я изменил config / auth.php, чтобы изменить таблицу аутентификации по умолчанию с пользователя на такие учетные записи:
'defaults' => [
'guard' => 'web',
'passwords' => 'accounts',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'accounts',
],
'api' => [
'driver' => 'token',
'provider' => 'accounts',
'hash' => false,
],
],
'providers' => [
'accounts' => [
'driver' => 'eloquent',
'model' => App\Akun::class,
],
],
Я изменил конфигурацию App \ Akun Model так же, как App \ User Model:
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class Akun extends Authenticatable
{
use HasFactory;
protected $table = 'accounts';
protected $fillable = [
'nip',
'password',
];
protected $hidden = [
'password',
'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
}
И моя система входа тоже работает. Он может вернуться обратно, если NIP или пароль неправильный, а также выдать сообщение об ошибке. Вот мой код для входа:
function checklogin(Request $request){
$this->validate($request,[
'nip' => 'required',
'password' => 'required'
]);
$akun_data = array(
'nip' => $request->get('nip'),
'password' => $request->get('password')
);
if(Auth::attempt($akun_data)){
return redirect('login/successlogin');
}else{
return back()->with('pesan','NIP atau Password salah');
}
}
он работал и правильно вернулся к логину / успешному входу и запустил там код. Но когда я попытался добавить промежуточное ПО ('auth') к маршруту входа / успеха, оно всегда будет возвращаться на страницу входа, даже если я дал правильный nip и пароль.
Route::get('/login/successlogin',[LoginController::class, 'successlogin'])->middleware('auth');