文章詳情頁
java - 分布式系統中如何進行權限校驗比較好?
瀏覽:136日期:2023-10-21 08:07:19
問題描述
如題,在項目中,單獨有個系統作為權限系統,現在的做法是每次請求業務系統,都會在業務系統的攔截其中,把請求的URL傳過去權限系統,來做校驗,校驗發起請求的用戶是否有該權限。
或者也可以從權限系統那里獲取該用戶的所有權限到業務系統中做校驗
無論哪種做法,感覺中間都可以篡改,不感覺很不安全
想問一下在分布式系統中如果進行權限校驗比較好,謝謝前輩
問題解答
回答1:樓主的問題與權限無關,純粹是接口調用的安全性。一般做法有:
內容明文傳輸,但加上校驗碼,校驗碼由雙方約定的一個密鑰生成,篡改者無法生成正確的校驗碼。
使用約定密鑰加密解密整個傳輸內容。
回答2:登錄后請求權限系統,將返回的權限菜單等信息放入緩存(自己用Map實現或Nosql,建議Nosql集群。要注意菜單有更新,則先清空用戶的redis數據,再將最新的信息同步到redis,redis沒信息就從數據庫中取),再返回Java Web Token(包括時間戳、標識等)。
項目安全點就用Https,Spring-Security(訪問接口權限、防CSRF),每個接口都要驗簽,token加時間戳等。
回答3:你這個有點像OAuth2.0解決的問題
標簽:
java
上一條:java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解下一條:java - SpringAOP如何獲得執行方法的class上的注解信息
相關文章:
1. javascript - js 修改表格元素的,可以用DOM操作實現嗎?2. python中def定義的函數加括號和不加括號的區別?3. 用tp5框架寫sql語句4. javascript - 請教移動端從詳情頁返回到列表頁原來位置的問題?5. python - xpath提取網頁路徑沒問題,但是缺失內容?6. javascript - js一個call和apply的問題?7. 跪求解答關于emmetc插件生效的問題8. javascript - js setTimeout在雙重for循環中如何使用?9. 點擊頁面就自動輸入到mysql.求解10. javascript - 關于微信公眾號開發的一個trouble!
排行榜
