मैं आयनिक और स्प्रिंग बूट 1.3 का उपयोग कर रहा हूं। यह तब तक नहीं था जब तक कि मैं 1.3 तक अपग्रेड नहीं कर पाया कि मुझे यह समस्या मिल रही है ...अनुरोधित संसाधन पर 'पहुंच-नियंत्रण-अनुमति-उत्पत्ति' शीर्षलेख मौजूद नहीं है। आयनिक, एंगुलरजेएस, स्प्रिंग बूट 1.3
स्पष्ट रूप से स्प्रिंग बूट 1.3 को अपडेट करने के बाद। CorsFilter पूरी तरह से अनदेखा किया जा रहा है। यह सब बहिष्कार मुझे पागल कर रहा है। तो मैंने नया रास्ता देखा और यही मुझे मिला।
package app.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://192.168.1.66:8101")
.allowCredentials(false)
.maxAge(3600)
.allowedHeaders("Accept", "Content-Type", "Origin", "Authorization", "X-Auth-Token")
.exposedHeaders("X-Auth-Token", "Authorization")
.allowedMethods("POST", "GET", "DELETE", "PUT", "OPTIONS");
}
}
आवेदन के बूट पर कोड का उपरोक्त टुकड़ा उत्साहित है। कॉर्सफिल्टर के विपरीत हर बार निष्पादित किया जाता है जब कोई अनुरोध होता है। लेकिन स्प्रिंग बूट 1.3 पर स्विचिंग, अब मैं इसे श्रृंखला फ़िल्टर में नहीं प्राप्त कर सकता।
फिर से, कोड लोड किया जा रहा है, मैंने ब्रेक पॉइंट सेट किया है और एडर्स को हर बार कॉल किया जा रहा है ताकि सेटिंग बनाई जा रही हो। मैं अब भी इस त्रुटि
XMLHttpRequest cannot load http://192.168.1.66:8080/login?username=billyjoe&password=happy. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.1.66:8101' is therefore not allowed access.
संपादित रही तो .... क्यों कर रहा हूँ नीचे मेरे पुराने CorsFilter है। के बाद से मैं वसंत बूट करने के लिए 1,3
package app.config;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class CorsFilter implements Filter {
private final Logger log = LoggerFactory.getLogger(CorsFilter.class);
public CorsFilter() {
log.info("SimpleCORSFilter init");
}
@Override
public void doFilter(ServletRequest req,
ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String clientOrigin = request.getHeader("origin");
response.addHeader("Access-Control-Allow-Origin", clientOrigin);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, DELETE, PUT");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Accept, Content-Type, Origin, Authorization, X-Auth-Token");
response.addHeader("Access-Control-Expose-Headers", "X-Auth-Token");
if (request.getMethod().equals("OPTIONS")) {
response.setStatus(HttpServletResponse.SC_OK);
} else {
chain.doFilter(request, response);
}
}
@Override
public void init(FilterConfig filterConfig) {
}
@Override
public void destroy() {
}
}
प्रतिक्रिया के लिए धन्यवाद। 1.3 स्प्रिंग बूट को अपडेट करने से पहले। मेरे पास ऐसा कुछ था और यह पूरी तरह से काम किया। चूंकि मैंने स्प्रिंग बूट 1.3 में अपडेट किया है, इसलिए यह अब पूरी तरह से अनदेखा करता है। यही कारण है कि मैंने नया सेटअप जोड़ा। मैंने ऊपर अपना कॉर्सफिल्टर जोड़ा है। इसके अलावा यह आपके जैसा ही है, मुझे आईपी की उत्पत्ति मिलती है और इसे एक्सेस कंट्रोल को उत्पत्ति की अनुमति देती है। किसी भी मामले में, फ़ाइल को पूरी तरह अनदेखा किया जा रहा है जिसका मतलब है कि कोई भी सेटिंग कभी भी लागू नहीं की जा रही है। मैं यह भी जोड़ना चाहता हूं कि मैं वेबस्केट परत का उपयोग कर रहा हूं जो एस्ट्रिक मान की अनुमति नहीं देता है। – numerical25
मेरे लिए भी एक ही फ़िल्टर काम करता है –