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

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

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

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

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

可把需要指定能跨域訪問的域名通過數(shù)組的方式進(jìn)行設(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

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容