مشاركة الموارد المشتركة في الإقلاع او التمهيد الربيع Spring Boot CORS Support

مشاركة الموارد المشتركة في الإقلاع او التمهيد الربيع

 Spring Boot CORS Support

مشاركة الموارد المشتركة في الإقلاع او التمهيد الربيع Spring Boot CORS Support

مشاركة الموارد المشتركة (CORS) هي مفهوم أمان يسمح بتقييد الموارد المنفذة في متصفحات الويب.  يمنع رمز JavaScript الذي ينتج أو يستهلك الطلبات مقابل أصل مختلف.

 على سبيل المثال ، يتم تشغيل تطبيق الويب الخاص بك على منفذ 8080 وباستخدام JavaScript ، فأنت تحاول استهلاك خدمات ويب RESTful من 9090 منفذ.  في ظل هذه الحالات ، ستواجه مشكلة أمان مشاركة المصادر المشتركة على متصفحات الويب لديك.

 هناك حاجة إلى اثنين من المتطلبات لمعالجة هذه المشكلة -

 يجب أن تدعم خدمات الويب المريحة مشاركة المصادر المشتركة.

 يجب أن يسمح تطبيق خدمة الويب RESTful بالوصول إلى واجهة (API) من منفذ 8080.

 في هذا الفصل ، سوف نتعلم بالتفصيل حول كيفية تمكين طلبات الشراء المتقاطع للحصول على تطبيق خدمة ويب مريح.

تمكين CORS في طريقة تحكم Enable CORS in Controller Method


نحتاج إلى تعيين أصول خدمة RESTful على الويب باستخدام تعليق توضيحيCrossOrigin لطريقة التحكم.  هذا التعليق التوضيحيCrossOrigin يدعم واجهة برمجة تطبيقات REST محددة ، وليس للتطبيق بأكمله.

@RequestMapping(value = "/products")
@CrossOrigin(origins = "http://localhost:8080")

public ResponseEntity<Object> getProduct() {
   return null;
}

الاعدادات العامة Global CORS Configuration

نحن بحاجة إلى تحديد التكوينBean@ الموضح لضبط دعم تكوين CORS على مستوى العالم على تطبيق Spring Boot.

@Bean
public WebMvcConfigurer corsConfigurer() {
   return new WebMvcConfigurerAdapter() {
      @Override
      public void addCorsMappings(CorsRegistry registry) {
         registry.addMapping("/products").allowedOrigins("http://localhost:9000");
      }    
   };
}
إلى كود  لتعيين تكوين CORS على الصعيد العالمي global اوالعامة في تطبيق Spring Boot الخاص بي أدناه.
package com.ahmedalmahallawi.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
   @Bean
   public WebMvcConfigurer corsConfigurer() {
      return new WebMvcConfigurerAdapter() {
         @Override
         public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/products").allowedOrigins("http://localhost:8080");
         }
      };
   }
}




الآن ، يمكنك إنشاء شبكة Spring Boot
 التطبيق الذي يعمل على منفذ 8080 وتطبيق خدمة RESTful على الويب الخاص بك والذي يمكن تشغيله على منفذ 9090.  للحصول على مزيد من التفاصيل حول تطبيق RESTful Web Service ، ارجع إلى الفصل المعنون "خدمات RESTful Web Services" في هذا البرنامج التعليمي.