diff --git a/app/app/(admin)/layout.tsx b/app/app/(admin)/layout.tsx index e17e6a7b8..92db1db6d 100644 --- a/app/app/(admin)/layout.tsx +++ b/app/app/(admin)/layout.tsx @@ -3,12 +3,23 @@ import { Metadata } from "next"; import { ReactNode } from "react"; import { AntdRegistry } from "@ant-design/nextjs-registry"; // import Head from "next/head"; +import { VerifiedAdminUser, VerifiedUser } from "@/lib/auth"; +import { redirect } from "next/navigation"; export const metadata: Metadata = { title: "Admin | 管理页面", }; -export default function AdminLayout({ children }: { children: ReactNode }) { +export default async function AdminLayout({ + children, +}: { + children: ReactNode; +}) { + const isAdmin = await VerifiedAdminUser(); + if (!isAdmin) { + redirect("/"); + } + return ( <> diff --git a/app/app/(auth)/layout.tsx b/app/app/(auth)/layout.tsx index 60f219ccb..2de0cbbad 100644 --- a/app/app/(auth)/layout.tsx +++ b/app/app/(auth)/layout.tsx @@ -1,8 +1,8 @@ import "@/app/app/login.scss"; import { Metadata } from "next"; import { ReactNode } from "react"; -// import { VerifiedUser } from "@/lib/auth"; -// import { redirect } from "next/navigation"; +import { VerifiedUser } from "@/lib/auth"; +import { redirect } from "next/navigation"; export const metadata: Metadata = { title: "Login | 实人认证", @@ -13,11 +13,11 @@ export default async function AuthLayout({ }: { children: ReactNode; }) { - // const isUser = await VerifiedUser(); - // if (isUser) { - // // Replace '/dashboard' with the desired redirect path - // redirect("/"); - // } + const isUser = await VerifiedUser(); + if (isUser) { + // Replace '/dashboard' with the desired redirect path + redirect("/"); + } return (
diff --git a/app/page.tsx b/app/page.tsx index 2e319ad82..2c9dfb24d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,18 +4,16 @@ import { Home } from "./components/home"; import { getServerSideConfig } from "./config/server"; -// import { getSession } from "@/lib/auth"; -// import { isName } from "@/lib/auth_list"; -// import { redirect } from "next/navigation"; +import { VerifiedUser } from "@/lib/auth"; +import { redirect } from "next/navigation"; const serverConfig = getServerSideConfig(); export default async function App() { - // const session = await getSession(); - // const name = session?.user?.email || session?.user?.name; - // if (!(name && isName(name))) { - // redirect("/login"); - // } + const isUser = await VerifiedUser(); + if (!isUser) { + redirect("/login"); + } return ( <> diff --git a/middleware.ts b/middleware.ts index cccba9d88..fb7459b98 100644 --- a/middleware.ts +++ b/middleware.ts @@ -44,23 +44,6 @@ export default async function middleware(req: NextRequest) { ); } - // if (req.method == 'POST' && (path.startsWith("/api/openai/") || path.startsWith("/api/midjourney"))) { - // // 重写header,添加用户名 - // // console.log(session,'========') - // const requestHeaders = new Headers(req.headers) - // - // // 使用 encodeURIComponent 对特殊字符进行编码 - // // 将编码的 URI 组件转换成 Base64 - // const encodeName = Buffer.from(encodeURIComponent(`${session?.name}`)).toString('base64'); - // - // requestHeaders.set('x-request-name', encodeName) - // return NextResponse.next({ - // request: { - // // New request headers - // headers: requestHeaders, - // }, - // }) - // } return NextResponse.next() } @@ -72,3 +55,5 @@ export const config = { "/((?!api/logs/|api/auth/|_next/|_static/|_vercel|[\\w-]+\\.\\w+).*)", ], }; + +// 发现中间件在边缘网络中才生效,自己部署的docker不行