在构建完整的 Web 平台(例如商店)时,我遇到了一些架构问题。考虑到 Java、Google App Engine (GAE)、Shiro 和 Restful api
考虑到我有平台的这 3 个主要组件:
- 前端界面
- 管理界面
- 后端
这 3 个组件都在 GAE 平台中作为单独的应用程序运行。
前端UI是指“用户”作为主要UI与系统交互的UI,使用Javascript设计并通过Javascript调用后端
Admin UI是指管理员用来管理平台、其用户及其内容的 UI。
Backend,是前端 UI 和 Admin-UI 都连接到的 Restful 服务器/服务,它公开了/user
api 和/admin
api 和 api,它们完成了提供的 Web 服务的实际逻辑。
我的问题是,身份验证在哪里适合它,如果我将身份验证放在后端,前端身份验证将如何工作。假设用户通过电子邮件或社交登录(oauth 等)登录我是否需要提供前端自己的身份验证然后转发到后端或在前端这应该只是 UI 和所有操作,如登录/注销必须通过后端。
如果我使用 Shiro,这怎么能实现。我真的更喜欢前端 UI 尽可能小,甚至只是一个单页应用程序 (SPA) 或类似的东西。有了这个,前端UI和后端(考虑到它们都是不同的GAE应用程序)在身份验证方面应该是什么绑定