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