diff --git a/src/routes/admin/+layout.server.ts b/src/routes/admin/+layout.server.ts
index cfa05fc..fc357e3 100644
--- a/src/routes/admin/+layout.server.ts
+++ b/src/routes/admin/+layout.server.ts
@@ -1,10 +1,15 @@
 import type { LayoutServerLoad } from './$types';
 import { Admin, User } from '$lib/server/database';
 import { getSession } from '$lib/server/session';
+import { redirect } from '@sveltejs/kit';
+import { env } from '$env/dynamic/public';
 
-export const load: LayoutServerLoad = async ({ cookies }) => {
+export const load: LayoutServerLoad = async ({ route, cookies }) => {
 	const session = getSession(cookies);
 
+	if (session == null && route.id != '/admin/login')
+		throw redirect(302, `${env.PUBLIC_BASE_PATH}/admin/login`);
+
 	return {
 		userCount: session?.permissions.userRead() ? await User.count() : null,
 		adminCount: session?.permissions.adminRead() ? await Admin.count() : null