المصادقة (Authentication) وأنظمة الدخول الجاهزة
تعد المصادقة (Authentication) من أكثر العمليات تعقيداً في أي مشروع ويب، فهي تتطلب التعامل مع كلمات المرور المشفرة، الجلسات، وحماية حسابات المستخدمين. ولأن Laravel يضع الأمان في المقام الأول، فإنه يوفر لك نظاماً متكاملاً قادراً على التعامل مع هذه التعقيدات في ثوانٍ معدودة، سواء كنت تريد بناء نظامك يدوياً أو استخدام حزم جاهزة واحترافية مثل Laravel Breeze.
1. الحل السريع والمحترف: Laravel Breeze
تعتبر حزمة Breeze هي الطريقة الرسمية والمفضلة للبدء في أي مشروع جديد. فهي توفر لك صفحات تسجيل الدخول، إنشاء الحساب، إعادة تعيين كلمة المرور، وتأكيد البريد الإلكتروني، وكل ذلك مصمم بـ Tailwind CSS.
composer require laravel/breeze --dev
php artisan breeze:install
بعد الإثبيت، سيقوم لارافيل بإنشاء جميع المسارات والمتحكمات والواجهات اللازمة تلقائياً تحت مجلد auth.
2. حماية المسارات (Middleware Auth)
بمجرد إعداد النظام، يمكنك بسهولة منع الزوار من الدخول لصفحات محددة (مثل لوحة التحكم) باستخدام البرمجية الوسيطة auth:
routes/web.php
// هذا المسار متاح فقط للمسجلين دخولهم
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware('auth');
3. الوصول لبيانات المستخدم المسجل
يمكنك التفاعل مع بيانات المستخدم الذي قام بتسجيل الدخول في أي مكان في تطبيقك عبر كلاس Auth:
use Illuminate\Support\Facades\Auth;
// جلب المستخدم الحالي
$user = Auth::user();
// التأكد هل المستخدم مسجل دخوله أم لا
if (Auth::check()) {
echo "مرحباً: " . $user->name;
}
أسئلة شائعة حول المصادقة
قطعاً لا. يستخدم لارافيل خوارزمية **Bcrypt** أو **Argon2** لتشفير كلمات المرور بشكل غير قابل للكسر، وحتى لو اخترقت قاعدة البيانات، لن يتمكن أحد من معرفة كلمات المرور الأصلية.
Breeze بسيط ومثالي للمبتدئين وللمشاريع المتوسطة. أما Jetstream فهو نظام ضخم يحتوي على ميزات متطورة مثل إدارة الفرق، الـ API عبر Sanctum، واستخدام صور البروفايل وكاميرا الويب.
الدرس القادم
الصلاحيات (Gates & Policies)
المصادقة تجيب على "من أنت؟"، أما الصلاحيات فتجيب على "ماذا يسمح لك أن تفعل؟". سنتعلم كيف نمنع المستخدم من تعديل مقالات غيره.
تعلم الصلاحيات والأذونات