请教大家下前后端分离问题

2017-03-31 12:12:26 +08:00
 onice

想问下所谓的前后端的分离,大家是怎么分离的?

题主是做 Java 的,有的项目是前端直接拿的静态页面过来,然后我这边套成 jsp 。

还有的项目是后端做一个 restful 接口向前端提供 json 数据。然后前端可以直接请求接口拿到数据进行页面加载。

基于这两种方法,问题来了。

基于后端提供接口的方案,加上前端的跨域请求,能够做到前后端完全分离。但是这样后端部署起来有些麻烦。每次完成一个新的接口,都得上传项目到 web 服务器再重新部署。这一点,想问下有没有比较快捷的方式?

还有一个问题是,基于后端接口的话,后端怎么保证数据的安全性呢?例如实现权限控制,靠 cookie 么?

3685 次点击
所在节点    Java
11 条回复
xuzywozz
2017-03-31 12:16:13 +08:00
权限控制 要做到无状态的话 好像只有 token ?
pwcong
2017-03-31 12:18:27 +08:00
linghutf
2017-03-31 12:21:54 +08:00
我的理解是前后分离可以靠虚拟的中间层传输数据,安全性由 token 保证
iot
2017-03-31 12:36:03 +08:00
jwt
willakira
2017-03-31 12:58:18 +08:00
第一个问题的话,着重解决的应该是部署流程。代码发布的时候应该尽可能自动化。最好新的接口使用灰度发布,例如 AB test

安全问题的话 token ,然后 HTTPS 尽可能保证没有中间人
armoni
2017-03-31 13:17:24 +08:00
前后端分离又不需要跨域
hantsy
2017-03-31 13:26:49 +08:00
后端 Java REST API (安全用简单 JWT Token , 或者单独的 OAuth 2+ JWT 服务)
前端 Angular 等 SPA 就行了

参考 https://github.com/hantsy/angularjs-springmvc-sample-boot

如果嫌运行麻烦就用 Docker , Vagrant 在本机运行, 生产环境也可以 CI/CD 服务器实现 Docker 部署。
hantsy
2017-03-31 13:30:54 +08:00
MrLin
2017-03-31 13:38:28 +08:00
jwt+1
banksiae
2017-03-31 15:23:03 +08:00
jenkins 试试看呢
Ouyangan
2017-04-05 21:45:49 +08:00
1. 第一个问题属于部署问题 . 上 Jenkins, 自动发布 /手动发布随你, 花半天时间看下中文教程即可 , 非常简单 .
2.第二个属于认证,权限问题. 这个其实是不分什么前后端分离的, 你要简简单单的话自己定义注解,用 aop 实现即可, 框架的话现在比较通用的是采用 Shiro ,提供一整套完善的认证权限方案 , 可能需要几天的时间来上手.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/351713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX