انتقل إلى المحتوى

الصفحات الخاصة

إنشاء صفحات خاصة بعد التوثيق

بعد أن يتم توثيق دخول المستخدم، يمكنك إنشاء صفحات خاصة مثل لوحة التحكم، الحساب الشخصي، وغيرها.


تنفيذ طلبات API محمية

إذا كنت ترغب بتنفيذ طلبات API محمية، يمكنك اتباع هذا الدليل التفصيلي.

ضبط الحماية في الملفات

الملف layout.js داخل مجلد /dashboard يضمن أن تكون جميع الصفحات الفرعية تحت هذا المسار محمية.
إذا لم يكن المستخدم موثّقًا، فسيتم توجيهه تلقائيًا إلى صفحة تسجيل الدخول (وفق إعدادات المصادقة في ملف config.js).


مثال على لوحة تحكم المستخدم

إليك مثالًا بسيطًا على لوحة تحكم مستخدم تعرض بيانات خاصة باستخدام مكوّن خادمي (Server Component):

// -/app/dashboard/page.js
import { getServerSession } from "next-auth";
import { authOptions } from "@/libs/next-auth";
import connectMongo from "@/libs/mongoose";
import User from "@/models/User";

export default async function Dashboard() {
  await connectMongo();
  const session = await getServerSession(authOptions);
  const user = await User.findById(session.user.id);

  return (
    <>
      <main className="min-h-screen p-8 pb-24">
        <section className="max-w-xl mx-auto space-y-8">
          <h1 className="text-3xl md:text-4xl font-extrabold">
            User Dashboard
          </h1>
          <p>Welcome {user.name} 👋</p>
          <p>Your email is {user.email}</p>
        </section>
      </main>
    </>
  );
}