一、為何用RESTful API
1.1 RESTful是什麼?
RESTful(Representational StateTransfer)架構風格,是一個Web自身的架構風格,底層主要基於HTTP協議(ps:提出者就是HTTP協議的作者),是分散式應用架構的偉大實踐理論。RESTful架構是無狀態的,表現為請求-響應的形式,有別於基於Bower的SessionId不同。
1.2理解REST有五點:
1.資源
2.資源的表述
3.狀態的轉移
4.統一介面
5.超文字驅動
需要理解詳情,請點[傳送門]
1.3 什麼是REST API?
基於RESTful架構的一套網際網路分散式的API設計理論。和上面資源,狀態和統一介面有著密切的關係。
為啥分散式網際網路架構很常見呢?請看下面兩個模式
MVC模式:
REST API模式:
1.4 許可權怎麼控制?
RESTful針對資源的方法定義分簡單和關聯複雜兩種。
基本方法定義:
資源之間的關聯方法如下定義:
那麼許可權如何控制?
二、許可權控制
前面說到,RESTful是無狀態的,所以每次請求就需要對起進行認證和授權。
2.1 認證
身份認證,即登入驗證使用者是否擁有相應的身份。簡單的說就是一個Web頁面點選登入後,服務端進行使用者密碼的校驗。
2.2 許可權驗證(授權)
也可以說成授權,就是在身份認證後,驗證該身份具體擁有某種許可權。即針對於某種資源的CRUD,不同使用者的操作許可權是不同的。
一般簡單專案:做個sign(加密加鹽引數)+ 針對使用者的access_token
複雜的話,加入 SLL ,並使用OAuth2進行對token的安全傳輸。
自然,技術服務於應用場景。既簡單又可以處理應用場景即可。簡單,實用即可~
複製程式碼
三、Access Token許可權解決
3.1 AccessToken 攔截器
第一步:從request獲取token
第二步:根據token獲取校驗物件資訊(也可以加入過期時間校驗,簡單)
第三步:通過校驗資訊獲取使用者資訊
3.2 配置攔截
第一步:將攔截器配置成Bean
第二步:攔截器註冊注入該攔截器,並配置攔截的URL
token存哪裡?
ehcache,redis,db都可以。自然簡單的當然是db。
四、小結
-
REST API
-
Spring Boot 攔截器
歡迎大家和我一起學習Spring Boot構建微服務雲架構,我這邊會將近期研發的Spring Boot微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發Spring Boot框架的朋友,大家來一起探討Spring Boot架構的搭建過程及如何運用於企業專案。
我本人邀約各大BATJ架構大牛共創Spring Boot構建微服務架構的交流社群。 (群號:364677697)歡迎各路架構師、開發者,學習與交流使用Spring Boot諸多強大元件的實戰經驗。
為什麼某些人會一直比你優秀,是因為他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜!
合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
希望此文能幫到大家的同時,也聽聽大家的觀點。歡迎留言討論,加關注,分享你的高見!持續更新!
To-陌霖Java架構
複製程式碼
分享網際網路最新文章 關注網際網路最新發展