ki4so單點(diǎn)登錄系統(tǒng)
ki4so是一個(gè)簡約、無狀態(tài)、易擴(kuò)展、易伸縮的適合于大型互聯(lián)網(wǎng)web應(yīng)用場景的單點(diǎn)登錄系統(tǒng),它功能簡單,只實(shí)現(xiàn)了統(tǒng)一登錄和登出,它最大的特色是將用戶狀態(tài)寫入到cookie中,最大程度減少了單點(diǎn)登錄服務(wù)端的狀態(tài),服務(wù)端只需要存儲(chǔ)公共的應(yīng)用密鑰,將用戶憑證的認(rèn)證分散到各應(yīng)用服務(wù)中,最大程度減輕了ki4so服務(wù)器的壓力。
名稱由來
ki4so,英文全稱是:kiss sso意思是簡約單點(diǎn)登錄系統(tǒng),由于s太多,名字看起來比較繁瑣,我們縮寫為4s,跟汽車的4s店一樣,我們會(huì)為使用ki4so的用戶提供全方位、細(xì)心周到的4s服務(wù),我們會(huì)用自己最真誠的心態(tài)來對(duì)待該項(xiàng)目,努力打造一個(gè)對(duì)用戶有價(jià)值,用戶體驗(yàn)很好,技術(shù)支持及服務(wù)用心的技術(shù)產(chǎn)品。
項(xiàng)目由來
我們所在的公司內(nèi)部一直在使用耶魯大學(xué)的CAS作為自己的單點(diǎn)登錄系統(tǒng),在功能上能夠滿足自己的需求,但是覺得它太重量級(jí),有狀態(tài),不太適合于互聯(lián)網(wǎng)應(yīng)用,因此2013年5月我們打算開發(fā)一個(gè)更加輕量級(jí)、簡單、適合互聯(lián)網(wǎng)應(yīng)用的開源sso系統(tǒng),因此本項(xiàng)目誕生了。
產(chǎn)品狀態(tài)
目前ki4so處于1.0.0-SNAPSHOT的開發(fā)期,目前還沒有可以發(fā)布正式可以用的版本。目前產(chǎn)品完成的需求如下: a.完成統(tǒng)一登錄。
b.完成統(tǒng)一登出。目前統(tǒng)一登出是在客戶端實(shí)現(xiàn),使用jsonp實(shí)現(xiàn),原生的javascript,不依賴任何lib包。集成非常簡單。
c.客戶端目前只完成了java原生應(yīng)用客戶端,其它語言暫時(shí)未開發(fā)。
d.單元測試正在持續(xù)補(bǔ)充中,引入了代碼覆蓋率檢查工具,依據(jù)覆蓋率進(jìn)行代碼測試。性能優(yōu)化是下一步要做的事情。
e.代碼結(jié)構(gòu)有待優(yōu)化。
項(xiàng)目目錄說明
在項(xiàng)目代碼的根目錄下分別有如下文件目錄,含義分別如下:
- docs 該目錄下存放的是各種項(xiàng)目文檔,包括架構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、用戶手冊(cè)、和安裝手冊(cè)等,我們承諾本項(xiàng)目將成為文檔最全的項(xiàng)目之一,方便所有人學(xué)習(xí)和使用。 子目錄的說明請(qǐng)查看目錄下的README.md文件。
- pom.xml。該文件是maven工程描述文件,其它的兩個(gè)目錄ki4so-core和ki4so-web都是兩個(gè)maven工程,具體請(qǐng)參考描述文件說明,若不了解maven是什么,請(qǐng)google之。
為什么要用ki4so?
單點(diǎn)登錄系統(tǒng)有很多,開源的成熟的產(chǎn)品也有很多,比如耶魯大學(xué)的cas等。
- 無狀態(tài)。系統(tǒng)可伸縮性好。
- 簡單輕量級(jí)。
- 性能高。
- 安全性高。
