背景
之前我們編寫程序的時候都是直接對數(shù)據(jù)庫進(jìn)行訪問,并沒有設(shè)置什么權(quán)限之類的東西,但是在管理數(shù)據(jù)庫的過程中,我們有時候需要控制某個用戶訪問數(shù)據(jù)庫的權(quán)限,比如只能單獨(dú)的看到屬于其管理的某幾張表,或者說是擁有CRUD(增加(Create)、讀取(Retrieve)(重新得到數(shù)據(jù))、更新(Update)和刪除(Delete))權(quán)限,或者是更小的粒度的劃分,總而言之,一切皆是為了系統(tǒng)的安全和操作的方便。
系統(tǒng)需求簡介
最近一直在做高校云平臺這個項(xiàng)目,我們小組做的是其中的一個子系統(tǒng)是成績管理系統(tǒng),不同于之前的開發(fā)方式,本次我們采用的是分模塊開發(fā)也就是將劃分的粒度變得更加的小了,這樣就有一個好處,就是各自負(fù)責(zé)各自的便于開發(fā)和調(diào)試。
但是這樣也帶來一個問題,就是數(shù)據(jù)庫是共同的,我們采用的是EF映射也就是從數(shù)據(jù)庫生成的實(shí)體,如果都是用一個賬號進(jìn)行登陸的話,那么看到將是同樣多的表,其實(shí)這樣是很沒有必要的,故而數(shù)據(jù)庫為我們提供了更好的便利,那就是為各個用戶分配不同的權(quán)限。
操作步驟 Ø 數(shù)據(jù)庫級別登錄名建完的效果圖如下圖所示:

Ø 具體步驟
進(jìn)入數(shù)據(jù)庫級別的安全性設(shè)置----新建【登錄名】,如圖:
第一步: 在常規(guī)選項(xiàng)卡的中填寫:

服務(wù)器角色的不用重新設(shè)置
第二步:用戶映射選項(xiàng)卡

安全對象不用設(shè)置
第三步:狀態(tài)選項(xiàng)卡

此時已經(jīng)設(shè)置好了,此時我們該設(shè)置這個用戶的權(quán)限了
Ø 用戶權(quán)限的分配
選中其中的一張表,進(jìn)行權(quán)限設(shè)置,必須是剛才設(shè)置時的數(shù)據(jù)庫,否則是看不到的。

此時進(jìn)行相應(yīng)的權(quán)限設(shè)置即可

至此已經(jīng)完成,我們可以用我們設(shè)置的登錄名和密碼進(jìn)入,此時看到只是我們分配的幾張表。自己動手試試吧。
以上是針對部分表的限制權(quán)限,如果是所有表那么就是直接 要限制的數(shù)據(jù)庫表名>右鍵>屬性 右側(cè)有權(quán)限,勾選上刪除即可
小結(jié)
這里只是做了一些最簡單的數(shù)據(jù)庫用戶權(quán)限的設(shè)置,這是自己在開發(fā)過程中用到的,別的一些更加復(fù)雜的設(shè)置,在以后的過程中會逐步去應(yīng)用和理解。
新聞熱點(diǎn)
疑難解答
圖片精選