我正在使用 .NET 9 Blazor 创建 iFrame 小部件。但是,在 iFrame 中显示它失败并出现以下错误:
拒绝框架,因为祖先违反了以下内容安全策略指令:“frame-ancestors”
在 Chrome 开发工具中,我可以看到框架祖先“self”指令已自动添加,可能是由 .NET 9 框架自动添加的(请参阅ASP.NET Core 9 中的新增功能)。
如何删除它并用限制性较小的指令(例如,frame-ancestors *.mydomain.com)替换它,或者首先阻止它被添加?
我想通了。策略的值可以在Program.cs内的中间件中设置。例如
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode(o => o.ContentSecurityFrameAncestorsPolicy = "'self' *.mydomain.com");