簡體   English   中英

Spring 安全性:創建多個入口點以保護不同的 rest 控制器

[英]Spring Security: Creating multiple entry point for securing different rest controllers

我正在探索 Spring 框架,特別是我正在開發一個將連接到 React.JS SPA(單頁應用程序)的電影管理應用程序。

問題如下。 在我的數據庫中,我確實有三個不同的表代表三種不同類型的用戶,即 Admin、Customer 和 Cinema_Employee。

對於每種類型的用戶,我創建了一個@RestController ,其中包含特定用戶能夠執行的RequestMethod列表:

"/admin" 
"/customer"
"/employee" 

我現在要實現的目標是保護提供三個不同登錄頁面的每個端點,這些登錄頁面將處理相應類型的用戶的身份驗證。

鑒於這些要求,我如何設置三個AuthenticationManager來處理 SecurityConfig class 中的不同Authentication對象,最重要的是,如何覆蓋授權注意每個用戶一旦登錄,將只能訪問各自的端點?

我在網上仔細查看了其他示例,其中大多數都完全不同,遵循一種模式,即數據庫除了存儲憑據的'user'表之外還有另一個額外'Authorities'表。 在我的情況下,這個解決方案無法應用,不僅因為整個設計將變得多余,而且因為應用程序將對其執行身份驗證檢查的表的名稱明確暗示給定用戶在系統內具有的授權。

你的設計對我來說聽起來很奇怪。
用戶應該有一個角色,例如管理員、客戶、員工,並且根據用戶的角色,他是否可以訪問方法。 查看基於角色的訪問控制概念。 對於 Spring 安全性,例如本教程:
https://www.baeldung.com/role-and-privilege-for-spring-security-registration

暫無
暫無

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

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