java - 我们的全栈 Web 应用架构正确吗?

标签 java spring spring-security oauth-2.0 spring-security-oauth2

我正在开发一个基于 spring-java 的全栈 Web 应用程序。该应用程序当前分为两个项目,每个项目在构建时都会生成一个 war 文件。一个项目(称为 UI)充当应用程序的前端。 UI 中没有太多业务逻辑。主要是HTML模板,还有JS/CSS等资源。另一个项目(称为服务器)在提供身份验证、业务逻辑、数据库服务、外部世界的 REST API 等方面承担着很大的责任。

我遇到了很多问题,特别是在给定 UI 项目的整个应用程序中进行安全工作时,没有直接的方法来验证用户或检查用户角色等。UI 依赖于调用到服务器的 REST OAuth2 密码流来进行验证。因此,身份验证本身工作正常,但我很难检查 UI 项目中任何代码中的用户访问角色或任何其他细粒度权限。

在我深入挖掘并尝试使这一切发挥作用之前,请先向各位专家提出几个问题: a) 这种设计是构建 Web 应用程序可接受的方法之一吗? b) 如果我尝试将这两个项目捆绑在一场 war 中,是否有任何我应该注意的问题?

我希望这是切中要害的,但如果您需要更多详细信息,请告诉我,我很乐意添加颜色。

最佳答案

尝试另一种分离概念:

  • 模块 1 = 核心业务逻辑 -> 在构建时生成 jar 文件
  • 模块 2 = web -> 在构建时生成 war 文件

模块 2 依赖于模块 1。所有安全内容都转到模块 2。

希望有帮助。

关于java - 我们的全栈 Web 应用架构正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19265222/

相关文章:

java - 多排序可选查询 - 带分页的 Spring REST Controller 配置

java - 在没有 Activity 的另一个类文件中使用 Toast 扩展了 Android

java - 是否可以从 java 运行导出命令?

java - 如何模拟依赖于更新可变对象的方法

java - 如何使用 Spring 加载 UrlResource?

java - 一对多 Spring 结果映射

java - 线程中的异常处理

java - Spring security登录外部链接

java - Spring Security antMatcher 与 HttpMethod.POST 不起作用

java - 登录/使用 Api 与 Spring Security 基本身份验证不起作用