Angular 2, Spring boot , spring security , login form

Refresh

December 2018

Views

3.8k time

6

I have a Front end application that runs on http:// localhost:4200, with angular 2 (I've used angular-cli for generating the project).
The application runs without any problems (I can get and post info from/to database using Angular 2 Http service:

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

On the other hand, I have a Back end application running with spring boot on http:// localhost:8080/ (note the ports), that provide a REST Api for my angular 2 application.

Sending requests from http://localhost:4200/ to http://localhost:8080/ works as expected.

Before I've programmed an application with spring framework & angularJS 1, spring security took care of login and security in the same app (maven project).

Now I have two separate applications that are communicating via http (RESTful Api with spring boot , and front end Api with angular 2)

How can I set my login form and where to put it, and how to configure spring security with my angular 2 application?

1 answers

3

Когда вы раскручиваете Угловое приложения с угловой CLI, ваши угловые страницы обслуживаются NodeJs в интерфейсе. У вас есть несколько вариантов здесь.

  1. .. Логин может обрабатываться на сервере NodeJS , который может в свою очередь вызывать приложения Spring загрузки для аутентификации и авторизации (я думаю, вы , возможно , придется сделать некоторые хитрости , как с помощью экспресс - сервера , а не облегченный сервер посмотрите здесь https: // StackOverflow .com / а / 37561973 / +6785908 )

  2. После первоначального развития, вы можете скопировать ваши AngularJS ресурсов на сервер Spring MVC (Spring загрузка) и использовать его для обслуживания страниц (а также остальные интерфейсы), так же, как вы делали раньше.

  3. Сделать Угловую App вызова пружинных загрузок службы (я думаю, вы используете $ http.post для отправки формы, если это так, вы можете просто изменить URL, так что он может ударить пружинное загрузочное приложение вместо этого.) Для производства развертывания, использовать Nginx / HTTPD для обслуживания статических файлов (AngularJS / CSS и т.д.) и маршрут / прокси все динамический запрос к приложению весны загрузки.

Я настоятельно рекомендую 3-й вариант.