簡體   English   中英

laravel 5中的兩種登錄表單

[英]Two login forms in laravel 5

我一直想知道如何在laravel 5中制作兩個登錄表單一段時間...原因是因為我有一個多站點項目,我有一個管理站點,以及一個項目中的公共站點。

我已對路由進行分組,以便管理路由回答域,公共路由回答另一個域,如下所示:

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

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

我還在這樣的每組路由中創建了用於身份驗證的自定義路由(這些是針對Public的):

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);

Route::get( '/register' , [
    'as' => 'publicRegister' ,
    'uses' => 'Auth\AuthController@getRegister'
] );

Route::post( '/registrar' , [
    'as' => 'publicPostRegister' ,
    'uses' => 'Auth\AuthController@postRegister'
] );

Route::get( '/login' , [
    'as' => 'publicLogin' ,
    'uses' => 'Auth\AuthController@getLogin'
] );

Route::post( '/login' , [
    'as' => 'publicPostLogin' ,
    'uses' => 'Auth\AuthController@postLogin'
] );

Route::get( '/logout' , [
    'as' => 'publicLogout' ,
    'uses' => 'Auth\AuthController@getLogout'
] );

我還在每個父文件夾中用它的控制器(' AuthController ',' PasswordController ')創建了Auth文件夾,我的控制器是這樣的:

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表有一個類型列,可以從Public或Admin站點過濾用戶。 這里的主要問題是:我如何為我的項目制作兩個登錄表單? 我想要的是公共用戶無法登錄管理站點而反之亦然。

什么到目前為止,我已經試過是覆蓋AuthenticatesAndRegistersUsers功能,如getLogingetRegister也是變量,如$loginPath$redirectTo但調用時publicPostLogin公共的登錄表單有作為動作(結帳路由) {{ route('publicPostLogin') }}它只是不起作用......

你聽說過laravel中的Multiauth嗎 在這個庫中有兩個或更多類型的用戶可以在一個laravel應用程序中登錄。 在我們的例子中有兩種類型的用戶管理員公共 ,這意味着用戶權利。你通過插入usertype識別用戶完全錯誤親愛的。

你必須使用這個庫。只需按照鏈接步驟安裝庫。並在restaurant.com分配兩個不同的表,例如用戶類型是Public,表示有使用User表的簡單用戶。

在另一方面,對於管理員來說,在我們的案例中有restaurant.net 。這個登錄表單使用管理表登錄。

忘記密碼和重置密碼功能都在一個應用程序中單獨工作。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM