From 0cbda6a18808c18b3a864708bba4deefc3550864 Mon Sep 17 00:00:00 2001 From: Alexander Jason <alexanderjason526@gmail.com> Date: Mon, 13 Nov 2023 19:53:09 +0700 Subject: [PATCH] fix: add protected route --- app/controllers/AuthorController.php | 10 ++++++++++ app/controllers/BookController.php | 10 ++++++++++ app/controllers/GenreController.php | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/app/controllers/AuthorController.php b/app/controllers/AuthorController.php index 8f79d09..98d582c 100644 --- a/app/controllers/AuthorController.php +++ b/app/controllers/AuthorController.php @@ -15,9 +15,19 @@ class AuthorController extends Controller implements ControllerInterface public function add() { + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } try { switch ($_SERVER['REQUEST_METHOD']) { case 'GET': + if ($_SESSION['role'] != UserRole::Admin) { + $unauthorizedView = $this->view('.', 'UnauthorizedView'); + $unauthorizedView->render(); + exit; + } // show the register page $addBookView = $this->view('admin', 'AddAuthorView'); $addBookView->render(); diff --git a/app/controllers/BookController.php b/app/controllers/BookController.php index 567aafe..134b4df 100644 --- a/app/controllers/BookController.php +++ b/app/controllers/BookController.php @@ -57,9 +57,19 @@ class BookController extends Controller implements ControllerInterface{ public function add() { + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } try { switch ($_SERVER['REQUEST_METHOD']) { case 'GET': + if ($_SESSION['role'] != UserRole::Admin) { + $unauthorizedView = $this->view('.', 'UnauthorizedView'); + $unauthorizedView->render(); + exit; + } // show the add book page $addBookView = $this->view('admin', 'AddBookView'); $addBookView->render(); diff --git a/app/controllers/GenreController.php b/app/controllers/GenreController.php index 4278626..aaccffc 100644 --- a/app/controllers/GenreController.php +++ b/app/controllers/GenreController.php @@ -15,9 +15,19 @@ class GenreController extends Controller implements ControllerInterface public function add() { + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } try { switch ($_SERVER['REQUEST_METHOD']) { case 'GET': + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } // show the register page $addGenreView = $this->view('admin', 'AddGenreView'); $addGenreView->render(); -- GitLab