軟體專案最佳實踐 可程式設計的許可權控制

2022-01-11 10:31:11 字數 1402 閱讀 2787

續 軟體專案最佳實踐: 又談許可權管理

當我們面對複雜的許可權控制一愁莫展時,因為未來不明確

需求而煩惱時,我們期望專案的許可權控制是可程式設計的,但手中的**不堪入目,只能暗自發誓接手下乙個新專案時,一定重新設計這笨拙的許可權控制框架。可是,苦於軟體專案人手少,時間緊,還是沿用從前的架構,到後來仍是嘆息,仍是抱怨。

事情終於有了轉機,末日重生,不滅亡,必瘋狂,我開源了可程式設計許可權管理框架,可以解決你的問題,讓編碼重新成為樂趣。

通常許可權管理都會封裝成元件,提供設定介面完成使用者賦角色,設定組織,給各角色定義可操作的資料項,也許可以簡單地用偽sql編碼,更高階的支援c#動態表示式。即使如此,開發人員面對個別複雜需求還是有力不從心的時候,恨不能去修改底層元件。

事實上,我們不要龐大的元件體系,我們僅需要幾個類配合工作來校驗使用者的操作許可權。因為實際業務場景中,我們可能需要:

1. 執行期給使用者賦角色。

2. 執行期給各角色賦許可權。

3. 執行期判斷當前使用者的許可權範圍。

4. 執行期判斷哪些使用者可操作此資料。

5. ......

可程式設計的許可權控制框架已經實現了大部分許可權相關的需求(第4項至今沒有實現方案),同時把更多的控制能力還給開發人員。假設手上的專案都用同一套許可權控制框架,更進一步減少了專案維護的複雜度,這是軟體專案開發的最佳實踐,也是每乙個開發人員的夢想。

亮點:

1. 基於角色的簡潔許可權控制邏輯(rbac),不引入使用者組、崗位、職務、組織架構等概念(引入了角色鑑權引數概念)。

2. 可以輕易與現有專案整合。多專案可以共享許可權控制框架,同時可以整合到富客戶端,如 wpf 或 winform 專案,未來上傳 wpf 整合示例。

3. 針對 mvc3 專案,此框架另外擴充套件了對 action 呼叫的許可權控制,對檔案訪問的許可權控制,wcf訪問控制。

4. 支援多資料庫,共享許可權控制框架。許可權設定,使用者管理可以使用示例自帶的資料庫,原有的資料庫,甚至不用資料庫。

5. 分層設計,資料訪問用 ef 4.x + repository 模式,物件容器用 unity 2.0 。

6. 沒有session,沒有檢視,沒有儲存過程,保持簡潔。

7. 提供了一套 t4 模板,可以快速生成簡易**。

不足:

1. 前端 ui 和 js 不夠專業。

2. 無法"執行期判斷哪些使用者可操作此資料"。

3. 從實際專案中抽離出來,有待進一步測試。

4. 未與 wf 整合。

安裝要求:

vs2010 旗艦版 + sp1 + mvc3  + powershell2.0 + nuget + ef4.2 + unity2.0

測試使用者登入: test  密碼: test

附類圖:

LILYGO T Wristband 可程式設計的手環

因為最近開發一款大眾化的健康產品,購買了一款可以自己程式設計的手環。其實現在銷售的眾多手環就是這樣的,只是沒有開放出來大家程式設計而已。這是我拆開進行程式設計的樣子 除了程式設計能力限制以外,它的長電版105mah,也受不了超過1個半小時。另外,還沒來得急研究抬手顯示等 它的程式設計接線口就壞掉了,...

可程式設計器件的程式設計原理

一.從源 到cpu的執行過程 源 通過編譯器編譯 彙編,生成elf格式二進位制可執行檔案,將該生成的檔案拷貝到flash中,然後cpu通過匯流排將資料和 拷貝到記憶體,然後cpu通過匯流排在記憶體取指令,先解碼,然後執行。然後再解碼,再執行。直到指令執行結束。二.組合語言的實質 彙編的實質是機器指令...

1 1 可程式設計器件的程式設計原理

朱有鵬老師嵌入式講解筆記記錄 電子器件的發展方向 模擬器件 數字器件 可程式設計器件的特點 1.cpu在固定頻率的時鐘控制下節奏執行。2.cpu可以通過匯流排讀取外部儲存裝置中的二進位制指令集,然後解碼執行。3.這些可以被cpu解碼執行的二進位制指令集是cpu設計的時候確定的,是cpu的設計者 這裡...