Angular 2,Spring boot,spring security,登录表单

Mou*_*ham 6 spring spring-security spring-boot angular

我有一个前端运行应用http:// localhost:4200,与角2(我使用angular-cli用于生成项目).
应用程序运行没有任何问题(我可以使用Angular 2 Http服务从/向数据库获取和发布信息:

getList () {
    return this._http.get("http:// localhost:8080/").map(res => res.json());
}
Run Code Online (Sandbox Code Playgroud)

在另一方面,我有一个后端与正在运行的应用弹簧的引导http:// localhost:8080/(注意端口),这对我提供了一个REST API 角2应用程序.

从发送请求http://localhost:4200/http://localhost:8080/按预期工作.

在我使用spring framework和angularJS 1编写应用程序之前,spring security在同一个应用程序(maven项目)中负责登录和安全性.

现在我有两个独立的应用程序正在通过http(RESTful Api与弹簧启动,前端Api与角度2)

如何设置我的登录表单以及放置它的位置,以及如何使用angular 2应用程序配置弹簧安全性?

so-*_*ude 3

当您使用 Angular CLI 启动 Angular 应用程序时,您的 Angular 页面将由后端的 NodeJ 提供服务。您在这里有几个选择。

  1. 登录可以在 NodeJS 服务器上处理,该服务器又可以调用 Spring Boot 应用程序进行身份验证和授权。(我认为,您可能需要进行一些调整,例如使用 Express 服务器而不是 lite 服务器。请看这里https://stackoverflow .com/a/37561973/6785908

  2. 初始开发后,您可以将 AngularJS 资源复制到 Spring MVC (Spring Boot) 服务器并使用它来为您的页面(以及其余 API)提供服务,就像您之前所做的那样。

  3. 让 Angular 应用程序调用 spring boot 服务(我猜,您正在使用 $http.post 提交表单,如果是这种情况,您只需更改 URL,以便它可以点击 spring boot 应用程序。)部署时,使用 nginx/httpd 提供静态文件(AngularJS/CSS 等)并将所有动态请求路由/代理到 Spring Boot 应用程序。

我强烈建议第三种选择。