通过serviceprovider在auth.php中添加一个guard和provider

时间:2017-04-13 11:25:24

标签: laravel laravel-5 package

Laravel版本:5.4 PHP版本:7

我制作了一个自定义包,我想知道是否可以通过我的ServiceProvider添加一个警卫和提供者。我不希望其他开发人员在安装自定义程序包时需要手动将其放入auth.php中。

所以我只想填写auth.php中的'providers'和'guard'。

2 个答案:

答案 0 :(得分:1)

是的,有可能:

在您的服务提供商boot()中执行:

 Auth::provider('myprovidername',function ($app,array $config) { 
      return myproviderobject
 });

 Auth::extend("myguard", function ($app,$name, array $config) {
     return myguard;
 });

无论谁需要使用您的身份验证驱动程序,只需将以下内容放入config/auth.php

即可
'guards' => [
     // ...
     'myguardconfig' => [
          'driver' => 'myguard',
          'provider' => 'myproviderconfig'
     ]
 ]

//...

 'providers' => [
         // ...
        'myproviderconfig' => [
               'driver' => 'myprovidername'
         ] 
  ]

答案 1 :(得分:0)

如果您要创建自定义程序包,那么我建议您创建自己的配置文件并将其发布(check here)。由于laravel和其他包使用auth.php,更改它会影响它们。