Fix flaw in authentication check

This commit is contained in:
2026-01-17 17:06:12 +07:00 Unverified
parent 75405ade99
commit c0e389c047
4 changed files with 12 additions and 5 deletions
+4
View File
@@ -50,12 +50,16 @@ import { NavUser } from "@/components/user";
import { db } from "@/lib/db";
import { versions } from "@/lib/db/schema";
import { SidebarLink, VersionCreateDialogForm } from "./client";
import { adminCheck } from "@/lib/auth";
import { redirect } from "next/navigation";
export default async function AdminLayout({
children,
}: {
children: ReactNode;
}) {
if(!await adminCheck()) redirect("/login");
const vers = await db
.select()
.from(versions)
+1 -1
View File
@@ -38,7 +38,7 @@ export default async function AdminLayout({
}: {
children: React.ReactNode;
}) {
if (!(await adminCheck())) redirect("/");
if (!(await adminCheck())) redirect("/login");
const subs = await db
.select({
id: submissions.id,
+1 -1
View File
@@ -34,7 +34,7 @@ export default async function AdminLayout({
}: {
children: React.ReactNode;
}) {
if (!(await adminCheck())) redirect("/");
if (!(await adminCheck())) redirect("/login");
const subs = await db
.select({
id: endgameSubmissions.id,
+6 -3
View File
@@ -1,5 +1,6 @@
import { and, eq, inArray, isNull, or } from "drizzle-orm";
import { notFound } from "next/navigation";
import { notFound, redirect } from "next/navigation";
import { adminCheck } from "@/lib/auth";
import { db } from "@/lib/db";
import {
characters,
@@ -17,6 +18,7 @@ export default async function TierlistPage({
}: {
params: Promise<{ type: string; ver: string }>;
}) {
if (!(await adminCheck())) redirect("/login");
const { type, ver } = await params;
const config = await db.transaction(async (tx) => {
// resolve version info
@@ -76,8 +78,9 @@ export default async function TierlistPage({
return { type: typeInfo, version, tiers, columns, badges, chars };
});
// console.log(config);
if (!config) notFound();
if (!config)
// console.log(config);
notFound();
return <TierList editable {...config} />;
// return <pre>{JSON.stringify(config, null, 2)}</pre>;
}