当我们直接从其本地地址登录时,我们可以运行会话变量。但是,当我们从iframe进行调用时,我们无法设置会话中的变量或从会话中获取变量,这是我们的启动。
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
////////////////
services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
;
}));
services.AddMemoryCache();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
})
.AddSessionStateTempDataProvider()
.AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
;
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
});
services.AddHttpContextAccessor();
使用此设置。我们可以很好地运行我们的网站,但是当我们从其他域的iframe调用它时。我们可以访问网站,但无法编写会话变量。
需要帮助!
答案 0 :(得分:0)
这是正确的答案
将会话选项配置为
extract_branches
现在可以使用
并配置身份验证部分
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
options.Cookie.SecurePolicy = CookieSecurePolicy.None;
options.Cookie.SameSite = SameSiteMode.None;
});