问答详情
源自:5-17 被调用方解决跨域 - Spring框架解决方案

请问使用这个CrossOrigin注解的时候怎么在orign中获取request中的Access-Control-Allow-Origin值呢?

不想写死,请问使用这个CrossOrigin注解的时候怎么在orign中获取request中的Access-Control-Allow-Origin值呢?


https://img4.mukewang.com/5ba8781b000159ab07850400.jpg

提问者:杨勤_cd 2018-09-24 13:37

个回答

  • 君子惜花花满楼
    2019-05-17 21:54:25
    已采纳

    根据课程里老师说的,Access-Control-Allow-Origin这个值在nginx代理服务器那里已经配置好了,用的是动态的request请求域名,所以这里的origin可以不用设置。@CrossOrigin这个注解原理是利用spring中内置的拦截器对报文进行修改,而因为getCookie中添加了xhrFields: withCredentials: true这个属性,所以需要在响应报文中添加Access-Control-Allow-Credentials这个属性,但他默认为false,所以设置为true就可以了


  • 杨勤_cd
    2018-09-24 13:48:41

    虽然这里只用设置第二个参数就能解决问题,但是还有一个疑问:

    =====================

    点这个注解进去,发现orgins默认是“*”,allowCredentials默认是“”;

    但是如果将allowCredentials设置成true,orgins不设置,通过前台查看orgins对应的就是请求头中Access-Control-Allow-Origin了,这是为什么呢?