【问题标题】:Adding 'allow origin' headers in Play在 Play 中添加“允许来源”标题
【发布时间】:2018-02-04 02:31:43
【问题描述】:

我有一个基于播放框架的后端,它需要可用于托管在不同域中的前端。

例如,后端可能位于 backend.example.com,前端可能位于 myapp.com,然后会向 backend.example.com 发出 javascript 请求

我认为这需要通过 play 发送一个 access-origin 标头。

任何想法如何/在哪里配置它,以便全局发送所有请求?

【问题讨论】:

    标签: scala playframework playframework-2.6


    【解决方案1】:

    您需要使用 application.conf 文件来开启 CORS:

    play.filters.enabled += "play.filters.cors.CORSFilter"
    

    然后您可以像这样配置详细信息(也在 application.conf 上):

    #CORS Properties
    cors.enabled=true
    cors.allowed_headers=["Accept", "Origin", "Content-type", "Authorization", "X-Auth-Token", "X-HTTP-Method-Override", "X-Json", "X-Prototype-Version", "X-Requested-With", "x-auth-token", "x-auth-id"]
    cors.allowed_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"]
    cors.allowed_credentials=true
    cors.allowed_origin="*"
    

    这里是更多详细信息的文档:https://www.playframework.com/documentation/2.6.x/CorsFilter

    【讨论】:

    • 我已将play.filters.enabled += "play.filters.cors.CORSFilter" play.filters.cors { allowedOrigins = ["*"] allowedHttpMethods = ["GET", "POST"] } 添加到 application.conf,但是当我发出请求时,我仍然在响应中看不到 allow-origin 标头。
    • 我已经编辑了答案以包含一个更“开放”的配置版本,也许从那里开始而不是根据需要限制它?
    猜你喜欢
    • 2014-07-26
    • 2014-02-24
    • 2017-06-29
    • 2013-10-11
    • 2020-01-10
    • 2021-09-07
    • 2019-03-13
    • 1970-01-01
    • 2020-10-16
    相关资源
    最近更新 更多