Java Web中實現(xiàn)設置多個域名跨域訪問

添加以下設置可允許所有域名跨域訪問:

response.setHeader("Access-Control-Allow-Origin","*");

但在實際應用中,為了安全起見,不應該讓所有域名都能跨域請求服務器API,需要設置指定的幾個域名可以訪問,直接通過以下代碼是不能實現(xiàn)的

response.setHeader("Access-Control-Allow-Origin","http://localhost:8000, http://oa.ewsd.cn");

可把需要指定能跨域訪問的域名通過數(shù)組的方式進行設置,代碼如下:

// 允許跨域請求
String[] allowDomain = {"http://localhost:8000", "http://oa.ewsd.cn"};
Set<String> allowedOrigins = new HashSet<String>(Arrays.asList(allowDomain));
String originHeader = request.getHeader("Origin");
if (allowedOrigins.contains(originHeader)) {
    response.setHeader("Access-Control-Allow-Origin", originHeader);
    response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Cookie");
    response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
    response.setHeader("Access-Control-Allow-Credentials", "true");
}

參考:http://blog.csdn.net/zlp_zky/article/details/70213811

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容