背景
之前我們編寫程序的時候都是直接對數據庫進行訪問,并沒有設置什么權限之類的東西,但是在管理數據庫的過程中,我們有時候需要控制某個用戶訪問數據庫的權限,比如只能單獨的看到屬于其管理的某幾張表,或者說是擁有CRUD(增加(Create)、讀取(Retrieve)(重新得到數據)、更新(Update)和刪除(Delete))權限,或者是更小的粒度的劃分,總而言之,一切皆是為了系統的安全和操作的方便。
系統需求簡介
最近一直在做高校云平臺這個項目,我們小組做的是其中的一個子系統是成績管理系統,不同于之前的開發方式,本次我們采用的是分模塊開發也就是將劃分的粒度變得更加的小了,這樣就有一個好處,就是各自負責各自的便于開發和調試。
但是這樣也帶來一個問題,就是數據庫是共同的,我們采用的是EF映射也就是從數據庫生成的實體,如果都是用一個賬號進行登陸的話,那么看到將是同樣多的表,其實這樣是很沒有必要的,故而數據庫為我們提供了更好的便利,那就是為各個用戶分配不同的權限。
操作步驟 Ø 數據庫級別登錄名建完的效果圖如下圖所示:
Ø 具體步驟
進入數據庫級別的安全性設置----新建【登錄名】,如圖:
第一步: 在常規選項卡的中填寫:
服務器角色的不用重新設置
第二步:用戶映射選項卡
安全對象不用設置
第三步:狀態選項卡
此時已經設置好了,此時我們該設置這個用戶的權限了
Ø 用戶權限的分配
選中其中的一張表,進行權限設置,必須是剛才設置時的數據庫,否則是看不到的。
此時進行相應的權限設置即可
至此已經完成,我們可以用我們設置的登錄名和密碼進入,此時看到只是我們分配的幾張表。自己動手試試吧。
以上是針對部分表的限制權限,如果是所有表那么就是直接 要限制的數據庫表名>右鍵>屬性 右側有權限,勾選上刪除即可
小結
這里只是做了一些最簡單的數據庫用戶權限的設置,這是自己在開發過程中用到的,別的一些更加復雜的設置,在以后的過程中會逐步去應用和理解。
新聞熱點
疑難解答