المصادقة
مستخدمون حقيقيون، وكلمات مرور مجزأة بشكل سليم، وإخفاقات تُعالَج بإتقان.
المصادقة مع Spring Security
يوم تتسرب قاعدة بيانات، فإن الشيء الوحيد الذي لا يزال يحمي مستخدميك هو الطريقة التي خُزّنت بها كلمات مرورهم. وهذا ليس افتراضًا متشائمًا: عشرات الملايين من الحسابات متداولة في قوائم عامة، وتأتي الغالبية العظمى منها من قواعد بيانات كانت كلمات المرور فيها بنص صريح، أو مجزأة بخوارزمية صُمّمت لتكون سريعة. فكلمة مرور مجزأة بـ MD5 يمكن استرجاعها في ثوانٍ على معالج رسومات (GPU) مستعمل.
لذلك فإن المصادقة هي النقطة في هذه الدورة التي تكون فيها الدقة أهم ما يكون. فبقية العناصر — قواعد عناوين URL والأدوار والرموز المميزة — تحمي جلسة، أما التجزئة فتحمي مستخدميك بعد وقوع الحادثة، بما في ذلك على المواقع الأخرى التي أعادوا فيها استخدام كلمة المرور نفسها.
يأخذ Spring Security هذه المسألة على محمل الجد، إلى حد أنه يرفض أن يبدأ التشغيل إذا خزّنت كلمة مرور دون أن تحدد الخوارزمية المستخدمة. يوضح هذا الدرس كيف تربط مستخدميك الخاصين، وأي مُرمِّز تختار، وكيف تعالج الإخفاقات دون أن تمنح المهاجم قائمة بحساباتك الصالحة.
سترى أيضًا الجزأين الناقصين في معظم الدروس التعليمية: ما الذي يفعله DaoAuthenticationProvider بالضبط بين النموذج وقاعدة بياناتك، ولماذا تكفي رسالة خطأ دقيقة أكثر من اللازم لحصر مستخدميك.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش