播放框架 - 内容安全策略设置不起作用?

jen*_*kin 7 playframework

我使用sbt来构建一个play-scala-seed项目,并添加一个简单的:

<button id="doclick" onclick="doConsole();">click</button>
Run Code Online (Sandbox Code Playgroud)

但是当我启动项目并单击按钮时.控制台提供错误输出:

localhost /:17拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:"default-src*".要么是'unsafe-inline'关键字,哈希('sha256 -...'),要么是nonce('nonce -...')来启用内联执行.另请注意,'script-src'未显式设置,因此'default-src'用作后备.

application.conf

play.http.filters = "filter.Filters"
play.filters.headers.contentSecurityPolicy="script-src 'self' 'unsafe-inline'"
Run Code Online (Sandbox Code Playgroud)

只需按照官方doc play-securityheaders

我错过了什么或得到错误的路径导致仍然无法调用内联脚本?

Wei*_*Lin 0

我遇到了同样的问题,经过 2 个小时的摆弄后找到了解决方案。

我正在使用编译时依赖注入,并将应用程序 mixin 从 更改HttpFiltersComponentsNoHttpFiltersComponents,这解决了问题。