0%
الإعداد الأساسي

الإعداد

من السلوك الافتراضي إلى سلسلة مرشِّحات تتحكم فيها بنفسك.

15-20 دقيقة

الإعداد الأساسي

أضف تبعية واحدة إلى مشروع Spring Boot فيصبح تطبيقك غير قابل للوصول. تتطلب جميع عناوين URL مصادقة، ويظهر نموذج لتسجيل الدخول، وتُعرض كلمة مرور عشوائية في وحدة التحكم عند بدء التشغيل. هذا السلوك مفاجئ، لكنه يعكس قرارًا تصميميًا مبرَّرًا: ينطلق Spring Security من مبدأ أن كل شيء مغلق، ويطلب منك أن تفتح صراحةً ما ينبغي فتحه.

وهذا عكس النهج الساذج الذي تُحمى فيه الصفحات الحساسة واحدة تلو الأخرى. يفشل هذا النهج دائمًا بالطريقة نفسها: في اليوم الذي يضيف فيه أحدهم متحكّمًا إداريًا دون التفكير في الأمان، يصبح عنوان URL عامًا. أما مع وضع افتراضي مغلق، فإن السهو ينتج خطأ 401 محرجًا في مرحلة الاختبار، لا تسريبًا للبيانات في بيئة الإنتاج.

ينقلك هذا الدرس من السلوك الافتراضي إلى إعداد تكتبه بنفسك. ستصرّح بـ bean من نوع SecurityFilterChain، وتحدد عناوين URL العامة، وتربط صفحة تسجيل دخول خاصة بك وتسجيل خروج سليمًا. والأهم أنك سترى الخطأين اللذين يكلّفان أكبر قدر من الوقت: قاعدة تفويض موضوعة في مكان لن يُبلغ إليه أبدًا، وصفحة تسجيل دخول محمية بالقاعدة نفسها التي يُفترض أن تتيح استيفاءها.

التبعية وما تُطلقه

<!-- pom.xml — la version est héritée du parent spring-boot-starter-parent 3.x -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

<!-- Nécessaire dès la leçon 8 : outillage de test de sécurité, portée test. -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <scope>test</scope>
</dependency>

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!