簡體   English   中英

無需登錄即可使用spring boot和angular 8保護應用程序的方法是什么?

[英]Which is the way to secure app using spring boot and angular 8 without login?

我想保護使用 angular 8 和 spring boot 5 的應用程序,但它是一種自由形式,不需要登錄即可訪問 UI。 我已經使用 CSRF 保護來保護它,但是任何人都可以通過在請求標頭中傳遞 CSRF 令牌來輕松訪問 POST 端點,該令牌可以從 GET 其余端點獲得。 所以我需要任何好的解決方案來實現安全性,這樣除了項目中的角度頁面之外,Spring 的其余端點不應該被訪問。 誰能幫幫我嗎。

簡而言之,沒有。

您可以通過點擊處理您的請求的端點來隱藏請求,但是從您開始,請考慮您不能。

讓我進一步解釋一下:JavaScript 在客戶端的瀏覽器中運行。 這意味着客戶可以完全訪問您的前端代碼:如果他願意,他可以完全分解您的應用程序。

好的一面是它只能在他自己的計算機上被破壞:客戶端不能與其他客戶端的瀏覽器混淆。

另一方面,你的服務器可以被任何東西訪問,但你是擁有主控制權的人:你應該保護它。

為此,正如您所說,您可以使用 JWT。 但是 JWT 是一個認證過程,基本上是一個編碼的字符串。 通過解碼它,您可以獲得客戶端信息,但它們不是從數據庫中獲取,而是從令牌本身中獲取。

如果您想保護您的端點,例如您可以聲明只有具有令牌提供的 ID 的用戶才能訪問您的端點:沒有簽名就無法偽造令牌。 這將保護您的端點並防止其他用戶進行修改。

考慮使用與您的后端語言對應的標簽提出另一個問題,這比要求 Angular 解決方案更有幫助。

您是否考慮過將與瀏覽器 IP 相關的令牌的服務器端渲染嵌入到 Angular 中?

暫無
暫無

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

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