Harden admin ACL on critical write paths.
Local Build and Deploy / deploy (push) Successful in 54s

Gate translations, RCON, and user mutations on SETTINGS_EDIT, RCON_EXECUTE, and USERS_EDIT instead of dashboard/rank checks; redirect the legacy user-edit URL to the guarded canonical page.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-15 20:07:15 +02:00
1 parent bae543baf6
commit f2427b3483
8 files changed
+127 -284

No files matched your search

+7
View File
@@ -1,5 +1,6 @@
import os from "node:os";
import { Activity } from "lucide-react";
import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server";
import {
alertUser,
@@ -24,6 +25,7 @@ import {
OnlineUsersWidget,
StatusCard,
} from "@/components/admin/dashboard";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { rcon } from "@/lib/services/rcon";
import { siteSettings } from "@/lib/services/site-settings";
@@ -61,6 +63,11 @@ function uptime(seconds: number): string {
}
export default async function CommandoCentrum() {
const { session, permissions } = await getAdminContext();
if (!canAccess(permissions, PERMS.RCON_EXECUTE, session.user.rank)) {
redirect("/admin");
}
const t = await getTranslations("pages.admin.commandocentrum");
const [