要養成一個好習慣,每天寫點東西,寫點分享
下面寫下資料庫中限制使用者權限的問題
1.首先進入資料庫級别的【安全性】-【登入名】-【建立登入名】
(圖1:建立登入名)
2. 在【正常】頁籤中,如下圖所示,建立登陸名,并設定預設的資料庫
(圖2:設定選項)
3. 在【使用者映射】頁籤中,如下圖所示,勾選需要設定的資料庫,并設定【架構】,點選【确認】按鈕,完成建立使用者的操作
(圖3:選擇對應資料庫)
4. 現在我們就可以對TestLog資料庫中的User表進行權限的設定了,【表】-【 屬性】
(圖4:選擇對應表)
5. 在【權限】頁籤中,如下圖所示,依此點選【添加】-【浏覽】-【選擇對象】
(圖5:設定通路表的使用者)
6. 在上面點選【确認】後,我們就可以下面的清單中找到對應的權限,如果你還想細化到列的權限的話,右下角還有一個【列權限】的按鈕可以進行設定,點選【确認】按鈕就完成了這些權限的設定了
(圖6:權限清單)
7. 現在就使用TestUser使用者登陸資料庫了,登陸後如下圖所示,現在隻能看到一個表了
(圖7:效果)
三、注意事項
1. 在上面的第3步驟中需要注意:如果這裡沒有選擇對應的資料庫的話,之後去TestLog資料庫中是找不到TestUser。
(圖8:找不到TestUser使用者)
2. 在上面的第3步驟,設定完TestLog資料後,需要點選【确認】按鈕,完成建立使用者操作,如果這個時候去設定【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【浏覽】中找到剛剛建立的TestUser使用者的。
3. 其實在資料庫級别的【安全性】建立的使用者是屬于全局的,當設定了某個資料庫,比如TestLog之後,這個使用者就會出現在這個資料庫的【安全性】清單中。如果删除TestLog這個使用者,會出現下面的提示。删除了後,這個使用者就無法登陸了。需要去對應的資料庫中删除使用者,如果沒有删除又建立,是會報錯的。
(圖9:删除TestUser使用者)
4. 在第6步的【顯式權限】清單中,如果選擇了【Control】這個選項,那麼在【Select】中設定查詢【列權限】就沒有意義了,查詢就不會受限制了。如果設定【列權限】,在正常情況下會顯示下圖的報錯資訊:
(圖10:效果)
5. 在TestLog資料庫的【安全性】-【TestUser】-【屬性】-【安全對象】-【添加】-【對象類型】這裡有更多關于資料庫級别的一些對象類型可以設定。
(圖11:其它對象類型)