services.AddCors(options =>
{
options.AddPolicy("mypolicy",
builder =>
{
builder.AllowAnyHeader();
builder.AllowAnyMethod();
builder.AllowAnyOrigin();
builder.AllowCredentials();
});
});
app.UseCors("mypolicy");
[HttpGet("")]
public object Index(string hello)
{
this.HttpContext.Session.SetString("hello", hello);
return new {data = "Connected to API"};
}
Http使用
获取索引方法错误的请求'否'访问控制 - 允许 - 来源'标题出现在请求的资源上。'
虽然在CORS配置中明确允许原点,但是什么是微软!??,如果我删除Session.SetString行,它的工作原理
答案 0 :(得分:0)
如果我将您的代码放入一个新的1.1项目中,响应将使用Set-Cookie启动一个新会话并添加CORs头(请参阅下面的curl会话,省略一些头文件)。其他一切都必须出错。
> curl -i --header "Origin: http://foo.com" http://localhost:4354/
HTTP/1.1 200 OK
Server: Kestrel
Set-Cookie: .AspNetCore.Session=CfDJ8DI5n6m4L...; path=/; httponly
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://foo.com