Php Laravel 5-定制防护装置
因此,我使用的是Laravel 5,对于更复杂的身份验证,我需要重载Laravel的Guard实现的方法Php Laravel 5-定制防护装置,php,laravel,laravel-5,Php,Laravel,Laravel 5,因此,我使用的是Laravel 5,对于更复杂的身份验证,我需要重载Laravel的Guard实现的方法trunt 然而,我很难找到我应该在哪里更换警卫 我是否需要更换illumb\Auth\AuthManager,然后更换illumb\Auth\Guard,并更改服务提供商(仅为一个过载)?这是可行的,但似乎很沉重 浏览illible\Auth\AuthManager时,我发现了以下方法: /** * Call a custom driver creator. * * @param
trunt
然而,我很难找到我应该在哪里更换警卫
- 我是否需要更换
,然后更换illumb\Auth\AuthManager
,并更改服务提供商(仅为一个过载)?这是可行的,但似乎很沉重illumb\Auth\Guard
- 浏览
时,我发现了以下方法:illible\Auth\AuthManager
你知道我在哪里可以用吗?它似乎完全符合我的需要/** * Call a custom driver creator. * * @param string $driver * @return \Illuminate\Auth\Guard */ protected function callCustomCreator($driver) { $custom = parent::callCustomCreator($driver); if ($custom instanceof Guard) return $custom; return new Guard($custom, $this->app['session.store']); }
谢谢你的意见 如果您查看方法实现,它会说您可以返回
Guard
或UserProvider
契约的实例。因此,在您的案例中,您可以使用以下代码示例:
Auth::extend('custom', function($app)
{
return new MyCustomGuard($userProvider, $session, $request);
}
您可以从传递到闭包的$app变量中获取
$request
变量$app['request']
您可以提供如何构建$userProvider$会话和$request的指示吗?