From 4b9b4f1880f29891d24cd277e9ee76d2dd79bad4 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Tue, 7 Aug 2018 18:27:50 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=A8=82=E5=AE=9A=E4=B8=89=E7=A8=AE?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=9A=84=E7=99=BB=E5=85=A5=E6=9E=B6=E6=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Auth/LoginController.php | 47 ++++++++++++++++++- routes/web.php | 11 +++-- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index b2ea669..920a4be 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -18,7 +18,9 @@ class LoginController extends Controller | */ - use AuthenticatesUsers; + use AuthenticatesUsers{ + showLoginForm as traitShowLoginForm; + } /** * Where to redirect users after login. @@ -36,4 +38,47 @@ class LoginController extends Controller { $this->middleware('guest')->except('logout'); } + + /** + * Show the application's login form. + * + * @return \Illuminate\Http\Response + */ + public function showLoginForm() + { + // return view('auth.login'); + // return $this->traitShowLoginForm(); + return view('auth.login'); + } + + /** + * 顯示接案者的登入表單 + * + * @return \Illuminate\Http\Response + */ + public function showReceiverLoginForm() + { + return $this->showLoginForm(); + } + + /** + * 顯示發案者的登入表單 + * + * @return \Illuminate\Http\Response + */ + public function showCaseBuilderLoginForm() + { + return $this->showLoginForm(); + } + + /** + * 顯示網站管理者的登入表單 + * + * @return \Illuminate\Http\Response + */ + public function showAdminLoginForm() + { + return $this->showLoginForm(); + } + } diff --git a/routes/web.php b/routes/web.php index e1c26c5..780ce14 100644 --- a/routes/web.php +++ b/routes/web.php @@ -36,6 +36,7 @@ Route::post('password/reset', 'Auth\ResetPasswordController@reset'); // 接案者相關url Route::group(['prefix' => 'receiver'], function () { + Route::get('/login', 'Auth\LoginController@showReceiverLoginForm')->name('receiver.login'); Route::get('/', 'Receiver\ReceiverController@index'); // Route::get('/login', 'Receiver\ReceiverController@loginPage'); // Route::post('/login', 'Receiver\ReceiverController@loginProcess'); @@ -46,6 +47,7 @@ Route::group(['prefix' => 'receiver'], function () { //發案者相關url Route::group(['prefix' => 'casebuilder'], function () { + Route::get('/login', 'Auth\LoginController@showCaseBuilderLoginForm')->name('casebuilder.login'); Route::get('/', 'CaseBuilder\CaseBuilderController@index'); // Route::get('/login', ''); // Route::post('/login', ''); @@ -54,8 +56,7 @@ Route::group(['prefix' => 'casebuilder'], function () { }); // 管理者相關url -// Route::group(['prefix' => 'admin'], function () { -// Route::get('/login', ''); -// Route::post('/login', ''); -// Route::get('/dashbord', ''); -// }); +Route::group(['prefix' => 'admin'], function () { + Route::get('/login', 'Auth\LoginController@showAdminLoginForm')->name('admin.login'); + // Route::get('/dashbord', ''); +}); From 9216e2f157e508239250df8fc8a7ddb87d80070e Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Tue, 7 Aug 2018 19:19:43 +0800 Subject: [PATCH 2/6] =?UTF-8?q?(=E5=B0=9A=E6=9C=AA=E6=94=B9=E5=AE=8C)=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9config/auth.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/auth.php | 55 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/config/auth.php b/config/auth.php index 7817501..60deb73 100644 --- a/config/auth.php +++ b/config/auth.php @@ -15,7 +15,7 @@ return [ 'defaults' => [ 'guard' => 'web', - 'passwords' => 'users', + 'passwords' => 'receivers', ], /* @@ -36,15 +36,42 @@ return [ */ 'guards' => [ - 'web' => [ + // 'web' => [ + // 'driver' => 'session', + // 'provider' => 'users', + // ], + // 'api' => [ + // 'driver' => 'token', + // 'provider' => 'users', + // ], + + 'receivers-web' => [ 'driver' => 'session', - 'provider' => 'users', + 'provider' => 'receivers', + ], + 'receivers-api' => [ + 'driver' => 'token', + 'provider' => 'receivers', ], - 'api' => [ - 'driver' => 'token', - 'provider' => 'users', + 'caseBuilders-web' => [ + 'driver' => 'session', + 'provider' => 'caseBuilders', ], + 'caseBuilders-api' => [ + 'driver' => 'token', + 'provider' => 'caseBuilders', + ], + + 'admins-web' => [ + 'driver' => 'session', + 'provider' => 'admins', + ], + // 'admins-api' => [ + // 'driver' => 'token', + // 'provider' => 'admins', + // ], + ], /* @@ -65,9 +92,21 @@ return [ */ 'providers' => [ - 'users' => [ + // 'users' => [ + // 'driver' => 'eloquent', + // 'model' => App\User::class, + // ], + 'receivers' => [ 'driver' => 'eloquent', - 'model' => App\User::class, + 'model' => App\Receiver::class, + ], + 'caseBuilders' => [ + 'driver' => 'eloquent', + 'model' => App\CaseBuilder::class, + ], + 'admins' => [ + 'driver' => 'eloquent', + 'model' => App\Admin::class, ], // 'users' => [ From a52429930e23a6a3174c8c9c273ddf1186c2980b Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Tue, 7 Aug 2018 23:08:16 +0800 Subject: [PATCH 3/6] =?UTF-8?q?Router:=20=E5=B0=87=E7=99=BB=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E7=B5=84=E7=A7=BB=E5=87=BA=E4=BE=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 留下可在路由群組加上中介層的彈性,若不移出來的話,會在登入時卡在中介層不通過導致無法進入登入畫面。 --- routes/web.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/routes/web.php b/routes/web.php index 780ce14..e8a954f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -21,6 +21,10 @@ Route::get('/', 'Home\HomeController@index')->name('home'); // 登入相關的 // Authentication Routes... Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); +Route::get('/receiver/login', 'Auth\LoginController@showReceiverLoginForm')->name('receiver.login'); +Route::get('/casebuilder/login', 'Auth\LoginController@showCaseBuilderLoginForm')->name('casebuilder.login'); +Route::get('/admin/login', 'Auth\LoginController@showAdminLoginForm')->name('admin.login'); + Route::post('login', 'Auth\LoginController@login'); Route::post('logout', 'Auth\LoginController@logout')->name('logout'); @@ -36,7 +40,6 @@ Route::post('password/reset', 'Auth\ResetPasswordController@reset'); // 接案者相關url Route::group(['prefix' => 'receiver'], function () { - Route::get('/login', 'Auth\LoginController@showReceiverLoginForm')->name('receiver.login'); Route::get('/', 'Receiver\ReceiverController@index'); // Route::get('/login', 'Receiver\ReceiverController@loginPage'); // Route::post('/login', 'Receiver\ReceiverController@loginProcess'); @@ -47,7 +50,6 @@ Route::group(['prefix' => 'receiver'], function () { //發案者相關url Route::group(['prefix' => 'casebuilder'], function () { - Route::get('/login', 'Auth\LoginController@showCaseBuilderLoginForm')->name('casebuilder.login'); Route::get('/', 'CaseBuilder\CaseBuilderController@index'); // Route::get('/login', ''); // Route::post('/login', ''); @@ -57,6 +59,5 @@ Route::group(['prefix' => 'casebuilder'], function () { // 管理者相關url Route::group(['prefix' => 'admin'], function () { - Route::get('/login', 'Auth\LoginController@showAdminLoginForm')->name('admin.login'); // Route::get('/dashbord', ''); }); From 21f7367b7ea4183c7c05b3db75eed43bc0f5edd7 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Tue, 7 Aug 2018 23:14:32 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix=20config/auth.php=20(=E5=BF=98=E8=A8=98?= =?UTF-8?q?=E5=AF=86=E7=A2=BC=E5=8A=9F=E8=83=BD=E5=B0=9A=E6=9C=AA=E8=99=95?= =?UTF-8?q?=E7=90=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/auth.php b/config/auth.php index 60deb73..bef8f3e 100644 --- a/config/auth.php +++ b/config/auth.php @@ -14,7 +14,7 @@ return [ */ 'defaults' => [ - 'guard' => 'web', + 'guard' => 'receivers-web', 'passwords' => 'receivers', ], From 9fd6e0840043da8d735cca009c703a6223bd7c36 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Wed, 15 Aug 2018 00:36:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9config/auth.php:=20?= =?UTF-8?q?=E5=BF=98=E8=A8=98=E5=AF=86=E7=A2=BC=E7=9A=84=E8=B3=87=E6=96=99?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/auth.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/config/auth.php b/config/auth.php index bef8f3e..a276272 100644 --- a/config/auth.php +++ b/config/auth.php @@ -131,9 +131,24 @@ return [ */ 'passwords' => [ - 'users' => [ - 'provider' => 'users', - 'table' => 'password_resets', + // 'users' => [ + // 'provider' => 'users', + // 'table' => 'password_resets', + // 'expire' => 60, + // ], + 'receivers' => [ + 'provider' => 'receivers', + 'table' => 'password_resets_for_receiver', + 'expire' => 60, + ], + 'caseBuilders' => [ + 'provider' => 'caseBuilders', + 'table' => 'password_resets_for_casebuilder', + 'expire' => 60, + ], + 'admins' => [ + 'provider' => 'admins', + 'table' => 'password_resets_for_admin', 'expire' => 60, ], ], From f682741758b7b9c75e7a42b673f402ec56a97efb Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Wed, 15 Aug 2018 04:51:56 +0800 Subject: [PATCH 6/6] edit password_resets tables --- config/auth.php | 7 +--- ...iy_password_resets_for_receiver_column.php | 38 +++++++++++++++++++ ...password_resets_for_casebuilder_column.php | 38 +++++++++++++++++++ ...6_drop_password_resets_for_admin_table.php | 32 ++++++++++++++++ 4 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 database/migrations/2018_08_14_201742_modifiy_password_resets_for_receiver_column.php create mode 100644 database/migrations/2018_08_14_201920_modifiy_password_resets_for_casebuilder_column.php create mode 100644 database/migrations/2018_08_14_205016_drop_password_resets_for_admin_table.php diff --git a/config/auth.php b/config/auth.php index a276272..1e1c38c 100644 --- a/config/auth.php +++ b/config/auth.php @@ -145,12 +145,7 @@ return [ 'provider' => 'caseBuilders', 'table' => 'password_resets_for_casebuilder', 'expire' => 60, - ], - 'admins' => [ - 'provider' => 'admins', - 'table' => 'password_resets_for_admin', - 'expire' => 60, - ], + ] ], ]; diff --git a/database/migrations/2018_08_14_201742_modifiy_password_resets_for_receiver_column.php b/database/migrations/2018_08_14_201742_modifiy_password_resets_for_receiver_column.php new file mode 100644 index 0000000..4c8fc8e --- /dev/null +++ b/database/migrations/2018_08_14_201742_modifiy_password_resets_for_receiver_column.php @@ -0,0 +1,38 @@ +unique('email'); + }); + Schema::table('password_resets_for_receiver', function (Blueprint $table) { + $table->foreign('email', 'fk_password_resets_for_receiver_1')->references('email')->on('Receiver')->onUpdate('NO ACTION')->onDelete('CASCADE'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('password_resets_for_receiver', function (Blueprint $table) { + $table->dropForeign('fk_password_resets_for_receiver_1'); + }); + Schema::table('Receiver', function (Blueprint $table) { + $table->dropUnique('email'); + }); + } +} diff --git a/database/migrations/2018_08_14_201920_modifiy_password_resets_for_casebuilder_column.php b/database/migrations/2018_08_14_201920_modifiy_password_resets_for_casebuilder_column.php new file mode 100644 index 0000000..f5f6f68 --- /dev/null +++ b/database/migrations/2018_08_14_201920_modifiy_password_resets_for_casebuilder_column.php @@ -0,0 +1,38 @@ +unique('contactEmail'); + }); + Schema::table('password_resets_for_casebuilder', function (Blueprint $table) { + $table->foreign('email', 'fk_password_resets_for_casebuilder_1')->references('contactEmail')->on('CaseBuilder')->onUpdate('NO ACTION')->onDelete('CASCADE'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('password_resets_for_casebuilder', function (Blueprint $table) { + $table->dropForeign('fk_password_resets_for_casebuilder_1'); + }); + Schema::table('CaseBuilder', function (Blueprint $table) { + $table->dropUnique('contactEmail'); + }); + } +} diff --git a/database/migrations/2018_08_14_205016_drop_password_resets_for_admin_table.php b/database/migrations/2018_08_14_205016_drop_password_resets_for_admin_table.php new file mode 100644 index 0000000..04a96fa --- /dev/null +++ b/database/migrations/2018_08_14_205016_drop_password_resets_for_admin_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } +}