您的位置:首頁技術文章
文章詳情頁

java - 分布式系統中如何進行權限校驗比較好?

瀏覽:148日期:2023-10-21 08:07:19

問題描述

如題,在項目中,單獨有個系統作為權限系統,現在的做法是每次請求業務系統,都會在業務系統的攔截其中,把請求的URL傳過去權限系統,來做校驗,校驗發起請求的用戶是否有該權限。

或者也可以從權限系統那里獲取該用戶的所有權限到業務系統中做校驗

無論哪種做法,感覺中間都可以篡改,不感覺很不安全

想問一下在分布式系統中如果進行權限校驗比較好,謝謝前輩

問題解答

回答1:

樓主的問題與權限無關,純粹是接口調用的安全性。一般做法有:

內容明文傳輸,但加上校驗碼,校驗碼由雙方約定的一個密鑰生成,篡改者無法生成正確的校驗碼。

使用約定密鑰加密解密整個傳輸內容。

回答2:

登錄后請求權限系統,將返回的權限菜單等信息放入緩存(自己用Map實現或Nosql,建議Nosql集群。要注意菜單有更新,則先清空用戶的redis數據,再將最新的信息同步到redis,redis沒信息就從數據庫中?。俜祷豃ava Web Token(包括時間戳、標識等)。

項目安全點就用Https,Spring-Security(訪問接口權限、防CSRF),每個接口都要驗簽,token加時間戳等。

回答3:

你這個有點像OAuth2.0解決的問題

標簽: java
相關文章:
国产综合久久一区二区三区