Index: app/Http/Controllers/SessionsController.php
===================================================================
--- app/Http/Controllers/SessionsController.php	(revision 8a258ab3815610fee8b74d07462345ce5e158af2)
+++ app/Http/Controllers/SessionsController.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -54,4 +54,5 @@
         if ($this->verifyPassword($password, $value, $value2)) {
             // Authentication passed
+            Session::put('auth', true);
             Session::put('badge_no', $badge_no);
             Session::put('is_policeman', $policeman);
Index: app/Http/Kernel.php
===================================================================
--- app/Http/Kernel.php	(revision 8a258ab3815610fee8b74d07462345ce5e158af2)
+++ app/Http/Kernel.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -22,4 +22,10 @@
         \App\Http\Middleware\TrimStrings::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+    ];
+    protected $routeMiddleware = [
+        // other middleware
+        'policeman' => \App\Http\Middleware\CheckPoliceman::class,
+        'officer' => \App\Http\Middleware\CheckOfficer::class,
+        'both' => \App\Http\Middleware\CheckBoth::class,
     ];
 
Index: app/Http/Middleware/CheckBoth.php
===================================================================
--- app/Http/Middleware/CheckBoth.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
+++ app/Http/Middleware/CheckBoth.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Session;
+
+class CheckBoth
+{
+    public function handle(Request $request, Closure $next)
+    {
+        // Check if the user has either 'policeman' or 'officer' role
+        if (Session::get('auth')) {
+            return $next($request);
+        }
+
+        return redirect()->route('unauth');
+    }
+}
Index: app/Http/Middleware/CheckOfficer.php
===================================================================
--- app/Http/Middleware/CheckOfficer.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
+++ app/Http/Middleware/CheckOfficer.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Session;
+
+class CheckOfficer
+{
+    public function handle(Request $request, Closure $next)
+    {
+        // Check if the user has the 'officer' role
+        if (!Session::get('is_policeman')) {
+            return $next($request);
+        }
+
+        return redirect()->route('unauth');
+    }
+}
Index: app/Http/Middleware/CheckPoliceman.php
===================================================================
--- app/Http/Middleware/CheckPoliceman.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
+++ app/Http/Middleware/CheckPoliceman.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Session;
+
+
+class CheckPoliceman
+{
+    public function handle(Request $request, Closure $next)
+    {
+        if (Session::get('is_policeman')) {
+            return $next($request);
+        }
+
+        return redirect()->route('unauth');
+    }
+}
Index: resources/views/unauth.blade.php
===================================================================
--- resources/views/unauth.blade.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
+++ resources/views/unauth.blade.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <title>Laravel</title>
+
+    <!-- Fonts -->
+    <link rel="preconnect" href="https://fonts.bunny.net">
+    <link href="https://fonts.bunny.net/css?family=figtree:400,600&display=swap" rel="stylesheet" />
+
+    <!-- Styles -->
+    <style>
+    </style>
+    <script src="https://cdn.tailwindcss.com"></script>
+</head>
+<body class="antialiased">
+<div class="relative sm:flex sm:justify-center sm:items-center min-h-screen bg-dots-darker bg-center bg-gray-100 dark:bg-dots-lighter dark:bg-gray-900 selection:bg-red-500 selection:text-white">
+
+    <main class="grid min-h-full place-items-center bg-white px-6 py-24 sm:py-32 lg:px-8">
+        <div class="text-center">
+            <p class="text-base font-semibold text-indigo-600">401</p>
+            <h1 class="mt-4 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">Немате пермисии за оваа страна</h1>
+            <p class="mt-6 text-base leading-7 text-gray-600">Вратете се назад.</p>
+            <div class="mt-10 flex items-center justify-center gap-x-6">
+                <a href="/" class="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Назад</a>
+            </div>
+        </div>
+    </main>
+</div>
+</body>
+</html>
Index: routes/web.php
===================================================================
--- routes/web.php	(revision 8a258ab3815610fee8b74d07462345ce5e158af2)
+++ routes/web.php	(revision 5372778f696f189be18e765182cf61d30ea9728a)
@@ -19,39 +19,39 @@
 */
 
-Route::get('/', function () {
-    return view('welcome');
-});
+// UNAUTHORIZED
 Route::get('/login', function () {
     return view('login');
 
 });
-
 Route::post('/login', [SessionsController::class, 'store']);
 
+Route::get('/unauth', function () {
+    return view('unauth');  // Make sure there is a view file named `unauth.blade.php`
+})->name('unauth');  // Name the route 'unauth'
 
+// AUTHORIZED
+// POLICEMAN
+Route::get('register-statement', [CrimeCaseController::class, 'register_statement'])->middleware('policeman');
+Route::post('register-statement', [CrimeCaseController::class, 'register_statement_post'])->middleware('policeman');
+
+// OFFICER
+Route::get('register-policeman', [OfficerController::class, 'register'])->middleware('officer');
+Route::post('register-policeman', [OfficerController::class, 'register_post'])->middleware('officer');
+
+// BOTH
+Route::get('/', function () {
+    return view('welcome');
+})->middleware('both');
 Route::get('logout', [SessionsController::class, 'logout']);
 
+Route::get('employees', [OfficerController::class, 'employees'])->middleware('both');
+Route::get('/employees/{id}', [OfficerController::class, 'show'])->middleware('both');
 
+Route::get('filter', [PeopleController::class, 'filter'])->middleware('both');
+Route::post('filter', [PeopleController::class, 'filter_post'])->middleware('both');
 
-Route::get('employees', [OfficerController::class, 'employees'])->middleware('guest');
-Route::get('/employees/{id}', [OfficerController::class, 'show']);
+Route::get('cases', [CrimeCaseController::class, 'cases'])->middleware('both');
+Route::get('case/{wildcard}', [CrimeCaseController::class, 'case'])->middleware('both');
+Route::get('finished_cases', [CrimeCaseController::class, 'finished_cases'])->middleware('both');
 
-Route::get('filter', [PeopleController::class, 'filter'])->middleware('guest');
-Route::post('filter', [PeopleController::class, 'filter_post'])->middleware('guest');
-
-Route::get('cases', [CrimeCaseController::class, 'cases'])->middleware('guest');
-
-Route::get('case/{wildcard}', [CrimeCaseController::class, 'case'])->name('case')->middleware('guest');
-
-Route::get('finished_cases', [CrimeCaseController::class, 'finished_cases'])->middleware('guest');
-
-
-Route::get('register-policeman', [OfficerController::class, 'register'])->middleware('guest');
-Route::post('register-policeman', [OfficerController::class, 'register_post'])->middleware('guest');
-
-Route::get('register-statement', [CrimeCaseController::class, 'register_statement'])->middleware('guest');
-Route::post('register-statement', [CrimeCaseController::class, 'register_statement_post'])->middleware('guest');
-
-
-
-Route::post('/get-person', [PeopleController::class, 'getPerson']);
+Route::post('/get-person', [PeopleController::class, 'getPerson'])->middleware('both');
