如何将'Default Laravel Auth Module'添加到pingpong模块文件夹?
php artisan make:auth
以上命令将在默认的http文件夹中创建auth控制器/模块。但我正在使用pingpong组件在我的项目中创建模块。所以,我想将auth控制器移动到pingpong模块文件夹。是否有来自pingpong的命令直接在pingpong模块文件夹中安装auth
答案 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中。