Laravel 5 sboo \ Multiauth设置多站点项目

时间:2015-08-16 02:17:47

标签: laravel authentication laravel-5

我正在尝试使用Laravel Multiauth Package,但文档没有教程或指南来演示我想要使用它的设置。

我有一个多站点(现在有两个站点)项目,我希望每个站点都有单独的登录表单,两个站点都使用相同的数据库,相同的模型,但不同的控制器,所有操作由路由组分隔,每个路由组解析到一个特定的域,说,我的问题是:

  • 我是否需要创建AuthControllerPasswordControllerAuthenticate&每个网站的RedirectIfAuthenticated个中间件?

  • 我是否必须为每个路由组制作单独的路由进行身份验证?

以下是我的路线组:

Route::group(array( 'domain' => 'restaurant.com', 'namespace' => 'Public' ), function () {
    //some routes
});

Route::group(array( 'domain' => 'restaurant.net', 'namespace' => 'Admin' ), function () {
    //some routes
});

当我按照软件包文档中的步骤操作时,它可以正常工作,但仅适用于管理员用户,而不适用于公共用户,因为在文档中仅为此配置,当它应该演示如何使用多用途时

如果可能的话,有人可以一步一步地在 Laravel 5 (不是5.1或5.2)下进行设置。

更新1

到目前为止,我所做的是创建单独的AuthControllerPasswordController,然后我覆盖了getLogin()getRegister函数以及$redirectTo变量,但在尝试注册用户时,我收到一条错误消息告诉我:

  

SQLSTATE [42S02]:未找到基表或视图:1146表'multisite.users'不存在

这是有意义的,没有users表,但 multiauth 包文档说明我们必须更改默认的 app / auth.php 这样:

return [

    'multi' => [
        'employee' => [
            'driver' => 'database',
            'table' => 'Employees'
        ],
        'client' => [
            'driver' => 'database',
            'table' => 'Clients'
        ]
    ],
    'password' => [
        'email' => 'emails.password',
        'table' => 'password_resets',
        'expire' => 60,
    ],

];

所以我不会使用用户表...我的应用程序命名空间是Multisite,现在我的问题是:为什么它会查找用户表?

更新2

我找到了为什么它查找用户表,文件 app / Services / Registrar.php 是为Users配置的,如果我将模型切换到员工或客户端,它可以工作,但一次只适用于一种型号。

现在又出现了另一个问题:我在 config / auth.php 告诉我要使用数据库驱动程序,这意味着我不应该收到此错误,我是否必须创建自己的错误为每个auth控制器发布功能?

0 个答案:

没有答案