平臺、語言無關性:梁山許可權引擎的文件

luda發表於2015-04-25
哪些需要約束,哪些無需約束
許可權引擎的使用者介面簡單的無需附加約束,而躲在使用者介面背後的引擎的架構和實現可能需要附加約束。許可權引擎的使用者介面是簡單的穩定的,但是躲在使用者介面後面的許可權引擎的實現可能會有很多種具體的實現方法。大家一起考慮一下寫個類似ecmascript xacml等那樣的文件唄,完整的描述出來一個參考實現,供C++、java、.net、rust、golang……等平臺和語言的許可權引擎實現者參考。

前人留下有良好的文件形式
找到一個ECMAScript文件,http://lzw.me/pages/ecmascript/
看著很不錯,我們可以仿照著寫:許可權引擎定義,術語定義,型別、物件、行為,集合、行為,命令、事件,管道,連結,異常,環境。

梁山相容幷包,不論大刀和長矛的高下,無平臺和語言之爭
需要靠這份平臺無關性的文件來知識跨平臺,梁山的許可權引擎在各平臺的宏觀架構上具有一致性這樣符合構造定律,有利於為使用者節省學習成本。
只是梁山下面的引擎會大致一致,非梁的引擎不需要一致,許可權引擎的使用者介面其實只有唯一的一個AcResult Permit(subject, action, object)方法,無論是梁山的還是非梁山的那個唯一的使用者介面應該都會是差不多一致的,只是梁山在這種一致性之上更進了一步,希望躲在介面後面的那個引擎的宏觀上的架構實現也基本上是一致的。它們在分形,它們符合構造定律,它們節能,它們得以持久。

草莽英雄,群星下屆
梁山人手不夠,需要多找些林沖、武松、魯智深等人上來,他們沒上來之前我們不敢貿然釋出1.0。經過他們的知識的驗證後會釋出1.0,到時候教程應該會出來。林沖、武松、魯智深練的武功不同,梁山人練的武功十八般武藝都有,需要一份平臺無關性的文件讓大家參與進來。

新水滸傳片尾曲《四海盟約》- 毛阿敏
anycmd已經是個開源的許可權引擎的名字,"anycmd"這幾個字母不適合作為具體人的名字了。名字叫anycmd的那個賬戶是晁蓋,晁蓋已掛,宋江已到,我是大和尚魯達,剛剛丟了提轄閒官。

許可權系統幹什麼?
給出一套方法,將系統中的所有功能標識出來,組織起來,託管起來,將所有的資料組織起來標識出來託管起來, 然後提供一個簡單的唯一的介面,這個介面的一端是應用系統一端是許可權引擎。許可權引擎所回答的只是:誰是否對某資源具有實施 某個動作(運動、計算)的許可權。返回的結果只有:有、沒有、許可權引擎異常了。http://git.oschina.net/anycmd/anycmd

相關文章