From 9ed58f778c78233017f02dc207d42989691b8655 Mon Sep 17 00:00:00 2001 From: saparatayev Date: Sat, 11 Mar 2023 20:55:02 +0500 Subject: [PATCH] update: quotations section is not protected by middleware --- app/Http/Controllers/Web/HomeController.php | 11 ++++++ app/Http/Middleware/CheckOctoberSession.php | 6 +-- resources/js/Pages/NeedAuthFirst.vue | 43 +++++++++++++++++++++ resources/lang/en.json | 3 +- resources/lang/ru.json | 3 +- resources/lang/tm.json | 3 +- routes/web.php | 5 ++- 7 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 resources/js/Pages/NeedAuthFirst.vue diff --git a/app/Http/Controllers/Web/HomeController.php b/app/Http/Controllers/Web/HomeController.php index 7275880..0eb0924 100644 --- a/app/Http/Controllers/Web/HomeController.php +++ b/app/Http/Controllers/Web/HomeController.php @@ -53,4 +53,15 @@ class HomeController extends Controller { return view('logout'); } + + /** + * Redirect to a definite resource, if no access + */ + public function needAuthFirst() + { + return Inertia::render('NeedAuthFirst', [ + 'text' => settings('text')[app()->getLocale()], + 'parent_app' => env('PARENT_APP') + ]); + } } diff --git a/app/Http/Middleware/CheckOctoberSession.php b/app/Http/Middleware/CheckOctoberSession.php index 1a54fe7..f90505a 100644 --- a/app/Http/Middleware/CheckOctoberSession.php +++ b/app/Http/Middleware/CheckOctoberSession.php @@ -34,16 +34,16 @@ class CheckOctoberSession $user = BirzhaUser::find($userId); if(is_null($user)) { - return redirect()->away(env('PARENT_APP')); + return redirect()->route('need_auth_first'); } else { return $next($request); } } else { - return redirect()->away(env('PARENT_APP')); + return redirect()->route('need_auth_first'); } } catch(Throwable $th) { \Log::info($th); - return redirect()->away(env('PARENT_APP')); + return redirect()->route('need_auth_first'); } } diff --git a/resources/js/Pages/NeedAuthFirst.vue b/resources/js/Pages/NeedAuthFirst.vue new file mode 100644 index 0000000..81f888d --- /dev/null +++ b/resources/js/Pages/NeedAuthFirst.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/resources/lang/en.json b/resources/lang/en.json index 825a0ce..f3901ec 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -72,5 +72,6 @@ "Unauthorized": "Unauthorized", "Seller country": "Seller country", "Buyer country": "Buyer country", - "Trading": "Trading results" + "Trading": "Trading results", + "Auth need": "Please login first." } diff --git a/resources/lang/ru.json b/resources/lang/ru.json index 693604d..fc18eba 100644 --- a/resources/lang/ru.json +++ b/resources/lang/ru.json @@ -72,5 +72,6 @@ "Unauthorized": "Неверные данные", "Seller country": "Страна продавца", "Buyer country": "Страна покупателя", - "Trading": "Итоги торгов" + "Trading": "Итоги торгов", + "Auth need": "Необходимо войти в систему." } diff --git a/resources/lang/tm.json b/resources/lang/tm.json index a8bb9a5..6ec8cef 100644 --- a/resources/lang/tm.json +++ b/resources/lang/tm.json @@ -72,5 +72,6 @@ "Unauthorized": "Nädogry maglumat", "Seller country": "Satyjynyň yurdy", "Buyer country": "Alyjynyň yurdy", - "Trading": "Söwdanyň jemi" + "Trading": "Söwdanyň jemi", + "Auth need": "Giriş zerur." } diff --git a/routes/web.php b/routes/web.php index 6b80ef8..6c9416a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,14 +24,15 @@ use App\Http\Controllers\Admin\LocalizationController; */ // Route::get('/', [HomeController::class, 'index'])->name('home'); +Route::get('need-auth-first', [HomeController::class, 'needAuthFirst'])->name('need_auth_first'); +Route::get('/', [ExportController::class, 'index'])->name('exports'); Route::group(['middleware' => 'check_october_session'], function () { Route::get('imports', [ImportController::class, 'index'])->name('imports'); Route::get('tradings', [TradingController::class, 'index'])->name('tradings'); - Route::get('/', [ExportController::class, 'index'])->name('exports'); Route::get('download/{group}', [GroupController::class, 'download'])->name('download'); Route::post('requests', [RequestController::class, 'store'])->name('requests.store'); - Route::get('lang/{lang}', [HomeController::class, 'lang'])->name('lang'); }); +Route::get('lang/{lang}', [HomeController::class, 'lang'])->name('lang'); Route::group(['middleware' => 'auth:sanctum'], function () { Route::post('imports/import', [ImportController::class, 'import'])->name('imports.import');