dosenProvider = new EloquentUserProvider($hasher, UserDosen::class); $this->staffProvider = new EloquentUserProvider($hasher, UserStaff::class); } public function retrieveById($identifier): ?Authenticatable { return $this->dosenProvider->retrieveById($identifier) ?? $this->staffProvider->retrieveById($identifier); } public function retrieveByToken($identifier, $token): ?Authenticatable { return $this->dosenProvider->retrieveByToken($identifier, $token) ?? $this->staffProvider->retrieveByToken($identifier, $token); } public function updateRememberToken(Authenticatable $user, $token): void { if ($user instanceof UserDosen) { $this->dosenProvider->updateRememberToken($user, $token); return; } $this->staffProvider->updateRememberToken($user, $token); } public function retrieveByCredentials(array $credentials): ?Authenticatable { return $this->dosenProvider->retrieveByCredentials($credentials) ?? $this->staffProvider->retrieveByCredentials($credentials); } public function validateCredentials(Authenticatable $user, array $credentials): bool { if ($user instanceof UserDosen) { return $this->dosenProvider->validateCredentials($user, $credentials); } return $this->staffProvider->validateCredentials($user, $credentials); } public function rehashPasswordIfRequired(Authenticatable $user, array $credentials, bool $force = false): void { if ($user instanceof UserDosen) { $this->dosenProvider->rehashPasswordIfRequired($user, $credentials, $force); return; } $this->staffProvider->rehashPasswordIfRequired($user, $credentials, $force); } }