前言
關(guān)于 OAuth2.0的認證體系,翻閱了好多資料,RCF 文檔太多,看了一半就看不下去了,畢竟全英文的文檔看起來,是有一點讓我煩躁,但也對 OAuth2.0的認證流程有了一個基本的概念,之前用 SpringSecurity 做了一個基于 RBAC 的權(quán)限管理系統(tǒng)的基礎(chǔ)配置,所以對 SpringSecurity 算是比較了解了,于是 OAuth2.0的實現(xiàn),也想用 SpringSecurity 的來做,心想應(yīng)該比較簡單,然而...事實上,我反反復(fù)復(fù),拿起又放棄,放棄又拿起,來來回回折騰了3個多月,才真正的掌握了這個 OAuth2.0插件(OAuth2.0不是一個獨立的框架,只是 SpringSecurity 的一個插件而已)。
官網(wǎng)的 Demo 配置,是基于 JavaConfig 的配置方式,以前都用 XML 的,沒接觸過 JavaConfig,所以又繞了一圈,把 JavaConfig 方式的所有框架(Spring、SpringMVC、Mybatis、SpringSecurity、Web.xml)基本配置方式都走了一圈, 確實,全代碼配置是很酷,很清爽,說實話,今后我也會逐漸往這方面走,因為這個方式比較有代碼感,哈哈,但是現(xiàn)在還不行,因為有很多插件啊、特殊的配置方式啊,我都還不清楚要怎么配置,處于安全考慮,還是老老實實的用 XML 的比較好。
項目的說明
網(wǎng)上有很多,SpringSecurityOAuth2.0的配置文章,但是每個文章,都是將認證服務(wù)器和資源服務(wù)器寫在一起的,并沒有將認證與資源分離,也沒有講不同的資源之間如何拆分,然而我們在設(shè)計分布式系統(tǒng)的時候,總會以模塊化的方式,將不同的資源寫成不同的項目,比如,將網(wǎng)站的一個電商系統(tǒng),專門寫成一個項目,把網(wǎng)站中的論壇系統(tǒng),寫成另一個項目,部署的時候,每個項目就可以單獨部署,后端系統(tǒng)均以 RESTFull 的方式開放數(shù)據(jù)接口(RESTFull就是推薦使用 OAuth2.0的方式進行認證管理)。這樣的方式來設(shè)計程序,最大的優(yōu)點就是模塊之間相互獨立,互不干涉,在開發(fā)工作當中,可以并行開發(fā),單獨維護,同時模塊分離出來,今后還可以進行很便利的集群,而不需要修改任何原來的代碼,所以對整個項目的擴展性是非常好的,不同的項目之間,可以簡單的使用 HttpClient 進行通訊,OAuth2.0五種授權(quán)模式當中,有一種授權(quán)模式就是為這種資源服務(wù)器之間的通訊而設(shè)計的。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26