繁体   English   中英

Laravel 5-海关守卫

[英]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']); } 

    有什么想法可以在哪里使用? 似乎完全符合我的需求。

感谢您的任何投入!

如果查看方法实现,它表示您可以返回GuardUserProvider合同的实例。 因此,您可以使用以下代码示例:

Auth::extend('custom', function($app)
{
    return new MyCustomGuard($userProvider, $session, $request);
}

您可以从传递给闭包$app['request']的$ app变量中获取$request变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM