1 回答
TA贡献1820条经验 获得超9个赞
当锁定发生时,Laravel 会触发 Illuminte\Auth\Events\Lockout 事件。众所周知,我们可以轻松地为此事件设置侦听器并处理我们想要的任何逻辑。您可以使用php artisan make:listener UserLockedOut命令简单地创建一个侦听器。然后将监听器绑定到事件服务提供者中的事件。
然后在侦听器的句柄方法中,您可以编写代码来通知管理员并更新数据库表列中用户的状态,当然,如果您想跟踪用户的状态,那么只需在数据库表中创建一列并在侦听器句柄中调整它方法。
<?php
namespace App\Listeners;
use App\User;
use App\Notifications\LockedOut;
use Illuminate\Auth\Events\Lockout;
class UserLockedOut
{
/**
* Handle the event.
*
* @param \Illuminate\Auth\Events\Lockout $event
* @return void
*/
public function handle(Lockout $event)
{
if ($user = User::where('email', 'admin@admin.com')->first()) {
$user->notify(new LockedOut);
}
// code to update the database table column e.g
}
}
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报