我正在开发一个基于 spring-java 的全栈 Web 应用程序。该应用程序当前分为两个项目,每个项目都会在构建时生成一个war文件。一个项目(称为 UI)用作应用程序的前端。UI 中没有太多的业务逻辑。主要是 HTML 模板,以及 JS/CSS 和其他资源。另一个项目(称为服务器)在提供身份验证、业务逻辑、数据库服务、面向外部世界的 REST API 等方面具有很大的重要性。
我遇到了很多问题,尤其是在整个应用程序中进行安全工作时,因为 UI 项目没有直接的方法来验证用户或检查用户角色等。UI 依赖于调用 REST OAuth2 密码流到服务器进行身份验证。所以身份验证本身工作正常,但我很难检查用户访问角色或 UI 项目中任何代码中的任何其他细粒度权限。
在我深入挖掘并尝试使这一切正常工作之前,这里有几个问题要问大师:a) 这种设计是构建 Web 应用程序的可接受方式之一吗?b) 如果我试图将这两个项目捆绑在一场战争中,我应该注意哪些问题?
我希望这是重点,但如果您需要更多细节,请告诉我,我很乐意添加颜色。