簡體   English   中英

如何在具有AngularJS UI和帶有Spring Security的Spring Boot Rest Server的應用程序中對最終用戶進行身份驗證

[英]How to authenticate end users in an app having AngularJS UI and Spring Boot Rest Server with Spring Security

我有兩個應用。

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

后端-Spring Boot Rest Service localhost:8080

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

如果要按照自己的方式設置應用,則需要牢記一些注意事項。

您想要哪種身份驗證機制? 對於休息服務,Basic和oAuth2最常見。

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

  • 每個請求將再次執行身份驗證。
  • 客戶端和服務器之間沒有狀態
  • 如果您使用基本身份驗證,則Https是必需的。

首先使用oAuth2,您需要發送基本身份驗證請求以結束您的.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過濾器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM