如何在Laravel中覆盖logAutootherDevices()函数
我在重写Laravel中的函数时遇到了一些问题。这是laravel中供应商文件夹(Illumb\Auth\SessionGuard)中的logoutOtherDevices函数。我想在此函数中传递一个如何在Laravel中覆盖logAutootherDevices()函数,laravel,session,overriding,logout,Laravel,Session,Overriding,Logout,我在重写Laravel中的函数时遇到了一些问题。这是laravel中供应商文件夹(Illumb\Auth\SessionGuard)中的logoutOtherDevices函数。我想在此函数中传递一个$user\u name,以允许某些用户可以多次登录 public function logoutOtherDevices($password, $user_name, $attribute = 'password') { if (! $this->us
$user\u name
,以允许某些用户可以多次登录
public function logoutOtherDevices($password, $user_name, $attribute = 'password')
{
if (! $this->user() || $this->user()->user_name == $user_name) {
return;
}
$result = tap($this->user()->forceFill([
$attribute => Hash::make($password),
]))->save();
$this->queueRecallerCookie($this->user());
return $result;
}
但由于这是在供应商文件夹中,所以我不愿意编辑核心文件中的代码。
有人能给我一些指导来覆盖LoginController中的这个函数吗?
因为我计划添加一些条件来结束其他设备上的用户会话。
感谢所有的建议和指导。SessionGuard是可宏操作的,您可以在运行时向它添加方法,而
LoginController
是您的,因此您可以调整LoginController
可能调用的内容。也许您可以详细说明这些条件以及您正在尝试执行的操作different@lagbox谢谢你的回复,兄弟,我试图设置一个条件,在该函数中传递$user\u name,以使某些用户允许多次登录。您可以根据需要对该方法的自己版本进行宏处理,然后从LoginController调用您的版本