我使用的是Laravel 5.0内置身份验证控制器。但是,除了进行身份验证之外,我还希望在登录期间添加一些操作,例如更新另一个表。但我似乎无法找到应该编写此类代码的位置。
对于注册,我在文件中添加了我想要的内容" Registrar.php"在文件夹"服务"。我怎么能登录?
提前致谢。
答案 0 :(得分:4)
Laravel的身份验证层会在发生与身份验证相关的不同操作时触发多个事件:
您可以侦听这些事件(在您的情况下为 auth.login )并应用必要的操作而无需从特征中复制代码,如果某些更改发生,您将手动更新代码身份验证工作。
首先,您需要创建一个监听器类:
class AuthLoginHandler {
public function handle(User $user, $remember) {
// do whatever you need to do after user authenticates
}
}
然后在 EventServiceProvider 类中注册监听器:
protected $listen = [
'auth.login' => [
AuthLoginHandler::class
],
];
现在,每次用户进行身份验证时,您的处理程序的 handle()方法都会被调用,即使您有多个用于不同用户类型的登录表单,甚至还有一些其他形式的身份验证而不是表单
您可以在此处阅读有关Laravel活动的更多信息:http://laravel.com/docs/5.1/events#defining-listeners