Laravel 5.2:在pingpong中添加Auth模块

时间:2016-02-08 05:55:24

标签: laravel-5.2

如何将'Default Laravel Auth Module'添加到pingpong模块文件夹?

php artisan make:auth 

以上命令将在默认的http文件夹中创建auth控制器/模块。但我正在使用pingpong组件在我的项目中创建模块。所以,我想将auth控制器移动到pingpong模块文件夹。是否有来自pingpong的命令直接在pingpong模块文件夹中安装auth

1 个答案:

答案 0 :(得分:0)

您可以手动制作控制器和刀片模板。 将自定义auth.php配置与

一起使用
    'defaults' => [
    'guard' => 'admin',
    'passwords' => 'admins',
],
    'guards' => [
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
],
    'providers' => [
    'admins' => [
        'driver' => 'eloquent',
        'model' => Modules\Admin\Models\Admin::class,
    ],

],
'passwords' => [
    'admins' => [
        'provider' => 'admins',
        'email' => 'admin::auth.emails.password',
        'table' => 'password_resets',
        'expire' => 60,
    ],
],

但在这种情况下,您需要使用

创建自定义中间件
    public function handle($request, Closure $next)
{
    foreach(['auth','database','database.connections','admin'] as $key) {
        $config = Config::get($key, []);
        $path = __DIR__.'/../../Config/' . preg_replace('/\W/i','_',$key) . '.php';
        Config::set($key, array_merge($config, require $path));
    }

    return $next($request);
}

此代码将全局配置与您的自定义配置cripts(任何选项,数据库连接等)合并。

创建模板和登录表单。您可以使用'admin :: auth.emails.password'来包含其他rmodules的模板。 此外,您可以使用

protected $guard = 'admin';
protected $loginView = 'admin::auth.login';
protected $registerView = 'admin::auth.register';

在Modules \ Admin \ Http \ Controllers \ Auth \ AuthController和

protected $redirectTo = '/admin';
protected $linkRequestView = 'admin::auth.passwords.email';
protected $resetView = 'admin::auth.passwords.reset';

在Modules \ Admin \ Http \ Controllers \ Auth \ PasswordController中。