我们的系统有一些预定的作业,其中一个作业应该以用户身份运行以获得授权。最好的方法是什么?
App\Console\Kernel
时间表有这些,。
....
$schedule->job(new EveryMinuteJob)->everyMinute();
$schedule->job(new EveryFiveMinuteJob)->everyFiveMinutes();
....
EveryMinuteJob 正在多个地方处理,这些地方仅授权给管理员角色用户。因此,在 EveryMinuteJob 中,使用 Auth::login() 和 ::logout() 以管理员身份运行作业,如下所示。这是唯一的方法或任何其他最佳做法吗?
class EveryMinuteJob implements ShouldQueue {
public function handle()
{
..........
Auth::login(User::where('super_admin',true)->first());
..........
Auth::logout();
..........
}
}