springBoot 跨域问题如何解决
2018-03-14 13:54
726 查看
首先我门要知道什么是跨域:
跨域是指 不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。
什么是同一个域?
同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。前端解决跨域:
前边也说了,跨域是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。解决:
所以搞一个node 服务器做代理,发出请求到node 服务器,node服务器转发到后端就可以绕过跨域问题。
后端解决跨域问题:
后端解决就比较简单了。例如我用的springboot,只用在Controller类上添加一个“@CrossOrigin“注解就可以实现对当前controller 的跨域 访问了,当然这个标签也可以加到方法上。@RequestMapping(value = "/users") @RestController @CrossOrigin public class UserController { @Autowired private UserService userService; 4000 @RequestMapping(method = RequestMethod.POST) @CrossOrigin public User create(@RequestBody @Validated User user) { return userService.create(user); } }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
相关知识:
CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。参考 :https://www.zhihu.com/question/26379635相关文章推荐
- springboot中如何通过cors协议解决跨域问题
- SpringBoot(六):SpringBoot使用CROS解决跨域问题
- [置顶] spring boot项目实战:跨域问题解决
- Spring Boot如何解决Mysql断连问题
- [置顶] spring boot项目实战:跨域问题解决
- Spring boot中解决跨域问题
- ajax跨域问题解决(spring boot)
- springboot -- 通过cors协议解决跨域问题
- [置顶] spring boot项目实战:跨域问题解决
- [置顶] spring boot项目实战:跨域问题解决
- [置顶] spring boot项目实战:跨域问题解决
- [置顶] spring boot项目实战:跨域问题解决
- [置顶] spring boot项目实战:跨域问题解决
- 如何解决SpringBoot与ODataJClient版本冲突的问题?
- Spring Boot如何让Web API自动生成文档,并解决swagger-annotations的API注解description属性废弃的问题
- Springboot通过cors解决跨域问题(解决spring security oath2的/oauth/token跨域问题)
- [置顶] spring boot项目实战:跨域问题解决
- Spring boot 完美解决ajax跨域请求问题
- [置顶] spring boot项目实战:跨域问题解决
- springboot中通过cors协议解决跨域问题