Php laravel 5中的两个登录表单

Php laravel 5中的两个登录表单,php,laravel,login,laravel-5,Php,Laravel,Login,Laravel 5,我一直在想我怎么能在laravel 5中制作两个登录表单呢。。。这是因为我有一个多站点的项目,我在一个项目中有管理站点和公共站点 我对路由进行了分组,以便管理路由响应一个域,公共路由响应另一个域,如下所示: Route::group(array( 'domain' => 'restaurant.com', 'namespace' => 'Public' ), function () { //some routes }); Route::group(array( 'domai

我一直在想我怎么能在laravel 5中制作两个登录表单呢。。。这是因为我有一个多站点的项目,我在一个项目中有管理站点和公共站点

我对路由进行了分组,以便管理路由响应一个域,公共路由响应另一个域,如下所示:

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

Route::group(array( 'domain' => 'restaurant.net', 'namespace' => 'Admin' ), function () {
    //some routes
});
app    
|---Http
    |---Controllers
        |----------Public
        |          |---Auth
        |          |    |---AuthController
        |          |    |---PasswordController
        |          |--- ...
        | 
        |----------Admin
                  |---Auth
                  |    |---AuthController
                  |    |---PasswordController
                  |--- ...
我还在每组路由中创建了用于身份验证的自定义路由,如下所示(这些路由用于公共):

我还在每个父文件夹中创建了带有控制器的Auth文件夹(“
AuthController
”、“
PasswordController
”),我的控制器如下所示:

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

Route::group(array( 'domain' => 'restaurant.net', 'namespace' => 'Admin' ), function () {
    //some routes
});
app    
|---Http
    |---Controllers
        |----------Public
        |          |---Auth
        |          |    |---AuthController
        |          |    |---PasswordController
        |          |--- ...
        | 
        |----------Admin
                  |---Auth
                  |    |---AuthController
                  |    |---PasswordController
                  |--- ...
对于视图,我有单独的Auth视图,如下所示:

resources
    |---views
        |----------Public
        |          |---Auth
        |          |    |---login.blade.php
        |          |    |---password.blade.php
        |          |    |---register.blade.php
        |          |    |---reset.blade.php
        |          |--- ...
        | 
        |----------Admin
                   |---Auth
                   |    |---login.blade.php
                   |    |---password.blade.php
                   |    |---register.blade.php
                   |    |---reset.blade.php
                   |--- ...
在我的模型中,users表有一个type列,用于筛选来自公共或管理站点的用户。 这里的主要问题是:如何为我的项目制作两个登录表单? 我想要的是,公共用户不能登录到管理网站,反之亦然

到目前为止,我尝试的是覆盖
AuthenticatesAndRegistersUsers
函数,如
getLogin
getRegister
,以及变量,如
$loginPath
$redirectTo
,但是当调用publicPostLogin(签出路由)时,在Public的登录形式中作为操作
{route>('publicPostLogin')}
它就是不起作用…

你听说过吗。在这个库中,有两个或更多类型的用户可以在一个laravel应用程序中登录。 在我们的例子中,有两种类型的userAdminPublic,这意味着用户是正确的。亲爱的,你通过insert usertype识别的用户完全错了

您必须使用此库。只需按照该链接步骤安装库。并分配两个不同的表,就像我们在
restaurant.com
中的例子一样,有一个用户类型是Public,这意味着有一个简单的用户使用用户表

另一方面,对于admin,在我们的例子中有
restaurant.net
。此登录表单使用admin表登录

忘记密码和重置密码功能在一个应用程序中分别工作

'multi' => [ 'admin' => [ 'driver' => 'database', 'table' => 'admin', 'email' => 'client.emails.password' ], 'users' => [ 'driver' => 'database', 'table' => 'users', 'email' => 'client.emails.password', ] ],

您可以更改
Authenticate
RedirectIfAuthenticated
中间件以检查类型列。您还需要为管理部分创建两个新的中间件。每个Public和admin是否有一个中间件?是的,我通常在
中间件
di中创建一个
admin
目录目录中复制两个中间件并添加正确的名称空间。只有一个users表,对吗?我会检查它,它是否处理在Public和Admin中登录的限制?是的,有users表。是的,它可以在这两个表中都绝对限制。我会检查它并告诉您这是否是我正在寻找的。我需要不同吗每个公用和管理员的ent auth控制器?不,完全不需要,您只需在auth文件中定义两个表,如上面库链接中所建议的。