[英]Laravel 5 - Custom Guard
因此,我使用的是Laravel 5,对于更复杂的身份验证,我需要重载Laravel的Guard实现的方法attempt
。
但是,我很难找到应该替换Guard的位置。
Illuminate\\Auth\\AuthManager
,然后替换Illuminate\\Auth\\AuthManager
Illuminate\\Auth\\Guard
,并更改服务提供商,仅用于一次重载? 这是可行的,但看起来很沉重。 浏览Illuminate\\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
变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.