2016-08-04 124 views
0

我有兩個應用程序。如何使用Spring Security在具有AngularJS UI和Spring Boot Rest Server的應用程序中驗證最終用戶

前端 - AngularJS網站上localhost:9000運行,從靜止服務獲取數據(數據庫)

後端 - 春季啓動REST服務localhost:8080

這兩個表觀如何創建身份驗證過程?從(用戶,密碼)登錄。我在春季網站上閱讀了一些教程,但前端是在/resouce文件夾中的春季項目中構建的,未分開。

+0

請簡要解釋您的問題。 –

+0

只是我不知道如何開始這個問題。 – lukassz

回答

1

如果按照自己想要的方式設置應用程序,則需要牢記幾件事情。

你想要什麼樣的認證機制?對於休息服務Basic和oAuth2是最常見的。

使用基本身份驗證您可以在每個請求中發送授權標頭。

  • 每個請求都會再次執行認證。
  • 客戶端和服務器之間沒有任何狀態
  • 如果您使用基本身份驗證,則必須使用https。

oAuth2首先你需要發送基本的認證請求來結束your.app/oauth/token? ---參數

響應將包含 access_token": "CQPt2VR2HJuCY3mb0xA1BVMyDltgvnpf6N2CXdsds3423YkGQID7VO-Mmu4idymlz"

然後您可以包括與承載令牌每一個請求: Authorization Bearer CQPt2VR2HJuCY3mb0xA1BVMyDltgvnpf6N2CXVPXkaewYkGQID7VO-Mmu4idymlz

  • 具有的access_token過期時間。您也可以發送更長的到期時間的refresh_token。
  • 客戶端和服務器之間沒有任何狀態
  • 對於較小的應用oAuth2太複雜,基本就足夠了。

這只是常見認證方法的概述。有很多實現教程。例如:https://spring.io/guides/tutorials/spring-boot-oauth2/http://www.baeldung.com/rest-api-spring-oauth2-angularjs

有一點需要記住的是您需要設置CORS過濾器。如果你在不同的端口上運行你的服務和客戶端。對於初學者註釋您想要使用的方法@CrossOrigin(origins = "http://localhost:9000")您當然可以註冊全局cors過濾器。

+0

IIIIC是運行兩個應用程序(字體結束,後端)的良好習慣?大多數關於Spring Security的教程在一個應用程序中顯示字體結尾和後端。 – lukassz

+0

無盡的爭論。我個人更喜歡在同一臺服務器上同時擁有前端和後端。有人說你有比tomcat更快的服務器來服務你的角度應用程序,請考慮nginx。 –

相關問題