play-control-allow-origin on playframework

时间:2012-05-25 04:40:52

标签: playframework same-origin-policy

如何让playframework允许非原始调用?我已经尝试将@Before方法添加到控制器,但是永远不会被ajax客户端调用。

@Before 
public static void setCORS()
{
    Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE", true);
}

我正在尝试为客户端开发人员设置测试API服务器以进行测试,但这似乎需要禁用Origin限制。

还有其他人有这个工作吗?或以不同的方式完成这个?

更新 我在这个主题上找到了这篇文章 http://javathought.wordpress.com/2011/12/04/cross-origin-resource-sharing-with-play-framework/

2 个答案:

答案 0 :(得分:2)

检查您的浏览器尝试做什么,它可能首先发送OPTION请求以检查允许的内容,这称为“预检请求”。

此外,将Access-Control-Allow-Origin设置为*仅在没有凭据的情况下工作。

答案 1 :(得分:0)

使用自定义路由器可以解决此问题。

例如使用:https://github.com/teamon/play-navigator

val rget = GET on "foo" to App.foo
val gpost = POST on "foo" to App.foo