我有一个在http:// localhost:4200上运行的前端应用程序,角度为2(我使用了angular-cli来生成项目).
应用程序运行没有任何问题(我可以使用Angular 2 Http服务从/向数据库获取和发布信息:
getList () {
return this._http.get("http:// localhost:8080/").map(res => res.json());
}
另一方面,我有一个在http:// localhost:8080 /(注意端口)上使用spring boot运行的后端应用程序,它为我的angular 2应用程序提供REST Api.
从http:// localhost:4200 /发送到http:// localhost:8080 /的请求按预期工作.
在我使用spring framework& ;;编写应用程序之前angularJS 1,spring security在同一个app(maven项目)中负责登录和安全.
现在我有两个独立的应用程序通过http进行通信(RESTful Api与弹簧启动,前端Api与角度2)
如何设置我的登录表单以及放置它的位置,以及如何使用angular 2应用程序配置弹簧安全性?
你有几个选择.
>登录可以在NodeJS服务器上处理,然后可以调用
Spring Boot应用程序进行身份验证和授权.(我想,你可能需要做一些调整,比如使用快速服务器而不是精简服务器.看看这里https://stackoverflow.com/a/37561973/6785908)
>初始开发后,您可以复制AngularJS
Spring MVC(Spring Boot)服务器的资源并使用它来提供服务
您的页面(以及其他API),就像您正在做的那样
之前.
>让Angular App调用spring boot Service(我想,你
正在使用$http.post提交表单,如果是这样的话
可以只更改URL,以便它可以命中弹簧启动应用程序.)
对于生产部署,使用Nginx / httpd来提供静态
文件(AngularJS / CSS等)和路由/代理所有的动态请求
春季启动应用程序.
我强烈建议第3种选择.