The value of the 'Access-Control-Allow-Origin' header in the response must
not be the wildcard '*' when the request's credentials mode is 'include'.
Origin 'http://localhost:4200' is therefore not allowed access. The
credentials mode of requests initiated by the XMLHttpRequest is controlled by
the withCredentials attribute.
let headers = new Headers({
"Content-Type": "application/x-www-form-urlencoded"});
let options = new RequestOptions({ headers: headers ,withCredentials:true});
//body contains username and password.
this.http.post('http://localhost:8080/login',{body}, options).
subscribe(response => {
console.log(response)
});
@CrossOrigin(origins = "http://localhost:4200",allowCredentials="true")
@RestController
public class SecurityApplication {
... //Rest Api's
}
//Security Config
protected void configure(HttpSecurity http) throws Exception {
http.
cors().and().httpBasic().and().formLogin()
.and()
.authorizeRequests()
.antMatchers( "/", "/home", "/login").permitAll()
.anyRequest().authenticated();
}
我参考了https://www.concretepage.com/spring-4/spring-4-rest-cors-integration-using-crossorigin-annotation-xml-filter-example,根据它,orgins=“http://localhost:4200”应该将响应头中的access-control-allog-orgin设置为提供给它的值,但我仍然得到通配符'*'作为响应。
我试过corsFilters,但不起作用。我在Chrome浏览器中启用了CORS扩展。我想知道为什么它没有将Access-Control-Allow-Origin设置为我提供的值,以及如何解决它。
一种方法是不设置交叉原点。相反,在您的angular应用程序中,创建一个代理文件proxy.conf.json,当启动您的angular时,使用
ng serve --proxy-conf proxy.conf.json
那么proxy.conf.json的内容将是:
{
"/api": {
"target": "http://localhost:8080/api",
"secure": false,
"changeOrigin": "true",
"pathRewrite": {
"^/api": ""
}
}
}
最后,在spring boot application中的application.Properties中,您可以设置:
server.context-path=/api
this.http.post('/api/login',{body}, options).subscribe(response => {
console.log(response)
});
我尝试了几种方法来设置CORS头: null Chrome调试器在控制台中显示了以下内容: XMLHttpRequest无法加载http://localhost:8080/hop-backend/rest/shop/listhotelslandingPage。请求的资源上没有“访问-控制-允许-来源”标头。因此,不允许访问源'http://localhost:9000'。响应的HTTP状态代码为5
我目前正在转换一个项目从。NET框架进入。网5. 当我到达新系统中的一个endpoint时。NET5项目我得到以下异常。 系统InvalidOperationException:'误用的标头名称,'访问控制允许源'。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对象一起使用。” endpoint看起来
我正在尝试使用我的(CORS兼容的)RESTful服务 从我的AngularJS应用程序。 但我有一个错误: https://spring.io/guides/gs/consuming-rest-angularjs/ 使用他们的RESTful服务(他们说也兼容CORS),但结果是一样的。 PS:我使用WebStorm作为IDE。 Access-Control-Allow-Headers不允许请求标
我得到这些错误在浏览器 “响应必须包含AMP Access Control Allow Source Origin标头” 和 表单提交失败:错误:响应必须包含AMP Access Control Allow Source Origin标头" php HTML 我如何编辑它,以避免这些错误?
Access-Control-Allow-Origin响应 header 指示是否该响应可以与具有给定资源共享原点。 Header type Response header Forbidden header name no 语法 Access-Control-Allow-Origin: *Access-Control-Allow-Origin: <origin> 指令 * 对于没有凭据的请求,服务
问题内容: 我的Codeigniter文件说 但是我得到的http响应是: 即使包含,响应中仍缺少标题。我有关此标头的信息来源来自Mozilla开发人员网站 问题答案: 事实证明,仅当我通过PHP语法而不是codeigniter语法设置标头时,它才对我有用。真伤心