當前位置:開發者網絡 >> 技術教程 >> 數據庫專欄 >> 其他相關 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
多用戶權限與數據管理的一種方法
作者:未知
日期:2005-04-29
人氣:
投稿:(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:

多用戶權限與數據管理的一種方法

1.引言         信息系統實現過程中經常遇到這樣的情況:一個信息系統有很多組、多個的用戶,而且各組用戶具有的權限、所使用的數據都不相同。比如,一個學籍管理信息系統中,如果要實現學生學習成績的發佈與查詢的話,應該針對不同的學生提供個人的成績,然而由於學生人數很多,許多系統在實現成績查詢時並不針對某一個學生進行,而是輸出所有的學生的成績。在成績查詢這個例子中這個問題體現的不是很明顯,但如果考慮學生在網上錄入自己的選課情況的話,這種方式就會出現一些問題。比如,一些人可能惡意修改他人信息。因此需要對這一情況進行研究。

2.多用戶的安全驗證          為實現用戶的驗證,這種查詢/編輯需要驗證客戶是否為合理的用戶,需要在客戶端輸入用戶名稱以及相應的密碼,然後在數據庫端進行驗證。對於通過身份驗證的用戶返回其所要求的數據。實現用戶查詢自己信息的方式通常情況下是在客戶端的數據連接組件中進行限定,如果客戶端為學生,他要查詢相應的課程成績,則在客戶端完成課程成績的SQL語句的裝配,自動生成類似“select * from 課程成績 where 學號=’Xuehao’”(其中Xuehao是客戶端登錄或者獲取數據時提供的數據)        實現用戶的驗證,對於大型數據庫來講是連接數據庫獲取數據必須的一個步驟。傳統方式是對不同的用戶建立不同的用戶帳號,並為他們分配適當的權限。而在多用戶類型、多用戶量的情況下,針對每一個用戶建立一個帳號將涉及到很大的工作量:包括登錄名稱,數據庫用戶的建立,權限的分配,因此通常的方式是,利用數據庫所提供的角色的概念,針對不同的用戶類型建立不同的角色,將不同的用戶賦予相應的角色,從而減少用戶的權限分配管理,但這樣仍然不能減少用戶管理的工作量。對於學生成績管理系統來講,每年都有新生入學,需要創建數據庫用戶,同時又有學生畢業需要刪除他們相應的數據庫用戶。這樣維護數據庫的工作,雖然可以通過計算機程序進行,但是用戶管理的操作相對於表格的數據操作,費時費力。        針對這種情況,通常的辦法是將用戶不真正建立數據庫用戶,而是建立表格“用戶表”,在表中存儲其所屬的角色,即相應的權限。這樣對用戶的維護就轉變成對表格數據的維護,即方便程序的實現,又給用戶以熟悉感。當然這樣的管理需要結合存儲過程來實現。
          為實現用戶的驗證,這種查詢/編輯需要驗證客戶是否為合理的用戶,需要在客戶端輸入用戶名稱以及相應的密碼,然後在數據庫端進行驗證。對於通過身份驗證的用戶返回其所要求的數據。實現用戶查詢自己信息的方式通常情況下是在客戶端的數據連接組件中進行限定,如果客戶端為學生,他要查詢相應的課程成績,則在客戶端完成課程成績的SQL語句的裝配,自動生成類似“select * from 課程成績 where 學號=’Xuehao’”(其中Xuehao是客戶端登錄或者獲取數據時提供的數據)        實現用戶的驗證,對於大型數據庫來講是連接數據庫獲取數據必須的一個步驟。傳統方式是對不同的用戶建立不同的用戶帳號,並為他們分配適當的權限。而在多用戶類型、多用戶量的情況下,針對每一個用戶建立一個帳號將涉及到很大的工作量:包括登錄名稱,數據庫用戶的建立,權限的分配,因此通常的方式是,利用數據庫所提供的角色的概念,針對不同的用戶類型建立不同的角色,將不同的用戶賦予相應的角色,從而減少用戶的權限分配管理,但這樣仍然不能減少用戶管理的工作量。對於學生成績管理系統來講,每年都有新生入學,需要創建數據庫用戶,同時又有學生畢業需要刪除他們相應的數據庫用戶。這樣維護數據庫的工作,雖然可以通過計算機程序進行,但是用戶管理的操作相對於表格的數據操作,費時費力。        針對這種情況,通常的辦法是將用戶不真正建立數據庫用戶,而是建立表格“用戶表”,在表中存儲其所屬的角色,即相應的權限。這樣對用戶的維護就轉變成對表格數據的維護,即方便程序的實現,又給用戶以熟悉感。當然這樣的管理需要結合存儲過程來實現。
        但是這種將限制語句放在客戶端來進行的方法有如下的不足:如果一個知道用戶名稱與密碼的用戶,構造了一個客戶端,而在這個客戶端中,他並不限制了查詢修改數據的範圍,這樣他就可以對可以訪問的表格的所有數據進行操作,而不再僅僅是他所被賦予的範圍。        因此,更好的方式是將數據的限制放在數據庫上進行,這樣,即使是獲取了一個用戶名稱、密碼的用戶也僅僅能對原用戶相關的數據進行查詢、修改,從而在一定程度上提高了數據的安全性。
相關文章: