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

时间:2016-10-05 14:56:38

标签: spring angular spring-boot spring-security

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

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

另一方面,我有一个后端应用程序在http:// localhost:8080/上运行 spring boot (注意端口),它提供了一个REST Api for我的 angular 2 应用程序。

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

在我使用 spring 框架& amp;编程应用程序之前 angularJS 1 spring 安全性负责同一个应用程序(maven项目)中的登录和安全性。

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

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

1 个答案:

答案 0 :(得分:3)

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

  1. 可以在NodeJS服务器上处理登录,然后可以调用 Spring Boot应用程序进行身份验证和授权。(我想,你可能需要做一些调整,比如使用快速服务器而不是精简服务器。看看这里https://stackoverflow.com/a/37561973/6785908

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

  3. 让Angular App调用spring boot服务(我想,你 正在使用$ http.post提交表单,如果是这样的话 可以只更改URL,以便它可以命中弹簧启动应用程序。) 对于生产部署,使用nginx / httpd来提供静态 文件(AngularJS / CSS等)和路由/代理所有的动态请求 春季启动应用。
  4. 我强烈建议第3种选择。