第一次寫,小緊張! 即將畢業了,現在將我畢業設計中用到的小的編程技術以及自己的一些理解分享出來,希望可以做點小貢獻。 首先要感謝網上各路大神無私的分享,沒有你們,就沒有我的收穫。 在大四之前,對於編程只是學習過簡單的C語言,從來沒有接觸過工程實踐。最後的畢業設計肯定要開發程式,於是認真學習了一段時間 ...
第一次寫,小緊張!
即將畢業了,現在將我畢業設計中用到的小的編程技術以及自己的一些理解分享出來,希望可以做點小貢獻。
首先要感謝網上各路大神無私的分享,沒有你們,就沒有我的收穫。
在大四之前,對於編程只是學習過簡單的C語言,從來沒有接觸過工程實踐。最後的畢業設計肯定要開發程式,於是認真學習了一段時間。
我的畢業設計是開發一個信息管理系統,希望簡單實現對學生信息的管理。系統的前端決定使用MVC模式(當下比較流行,但是好難學!),後臺的管理用到了WCF技術,體現一種SOA思想。
今天主要講講WCF技術如何實現基於角色的訪問控制,這裡只是涉及基本原理,高手勿噴!
一、基於角色訪問控制原理
(1)用戶
用戶是指系統的使用者,是一個能夠對系統進行訪問和操作的實體。
(2)角色
角色是整個RBAC模型中的關鍵,角色是用戶和系統許可權中間的媒介,將用戶和系統許可權相分離,起橋梁及紐帶的作用。角色可以被分配給用戶,進而和用戶建立關聯;角色也可以被分配許可權,進而和訪問許可權建立關聯。
在實際的系統中,用戶可以根據需要被分配多個角色,比如一個人既是單位的董事長又是單位的足球隊長;角色也可以根據需要被分配多個許可權,比如部門經理角色可以被分配人事任免權和決策權。
(3)許可權
許可權是指系統使用者對系統資源進行訪問和操作的能力,在RBAC中,用戶通過被分配相應的角色而間接獲得了所需的許可權。
(4)會話
會話在訪問控制中起標記作用,用戶和角色通過建立持續一段時間的會話來進行關聯。一個用戶在一次操作周期中,可以通過一個會話關聯多個不同的角色,當然也可以通過多個不同的會話關聯更多的角色。而用戶的許可權就是這些關聯的角色的許可權之和。
(5)角色等級
角色等級RH(Role Hierarchy)在現實的系統中可以直接體現出使用該系統的企業或單位的權力等級和責任劃分,在程式設計中也方便通過繼承進行授權。
二、訪問控制服務功能模塊設計
該服務按照功能可以劃分為如下幾個部分:用戶管理模塊、角色管理模塊、授權管理模塊和許可權判定模塊。
三、授權管理流程設計
四、訪問控制流程設計
五、資料庫設計
下圖是VS中LINQ to SQL類的設計圖,這個類用於連接SQL Server資料庫,好用,推薦!