您好,登錄后才能下訂單哦!
這篇文章主要講解了“SQL權限設置的問題實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQL權限設置的問題實例分析”吧!
第一個是對于一個用戶的操作權限,無非就是這四個方面,增刪改查。
如果通過字母來標識,可能就是增(I)刪(D)改(U)查(S)
那么一個用戶或者表所擁有的權限就可能有IS,IDUS,IDU類似這樣的組合,其實如此一來會把我們已有的方式打亂,因為4個元素的組合,考慮到順序,其實有很多,比如2個連續,3個連續,順序不一樣。
所以如果使用一個字段來校驗區別,采用字符的形式,其實還是很難,很容易出錯,比如ISU, SUI都代表的是一個含義,但是有多種組合方式。
或者換個思路,如果我使用4個字段來區別校驗,分別為增刪改查,問題似乎會迎刃而解,事實上我們就需要在4個字段間進行大量的組合,語句可能會很啰嗦。有的同學想使用類似 in ('select','insert','delete','update')的形式來校驗,但是顯而易見,這種方式無法定位邊界,比如select+insert+update和select+insert+update+delete在上面的情況都會正常返回結果。
所以能不能用一個字段來標示這個問題呢,我想了一個。
比如增刪改查,按照權重,其實應該是select,insert,update,delete這樣的權重,如果我們制定為1,2,3,4的話,很容易混淆,比如是4,可能是1+3,4的組合,這樣就不好判斷到底是擁有哪些權限。
所以我們需要區別對待,借用了人民幣的思路。人民幣我們知道有1元,兩元。五元,十元。所以我們按照這個方式來組合就會好很多,權重值為:
select(1)
insert(2)
update(5)
delete(10)
但是實際上權限在業務中是有組合關系的,會有如下的幾種組合。
比如
select
insert+select
delete+select
update+select
select+insert+update
select+insert+update+delete
其實組合就這些,按照權重組合就是:
select 1
insert+select 3
delete+select 11
update+select 6
select+insert+update 8
select+insert+update+delete 18
所以我們得到一個數字,就知道它確切的權限了,在做處理的時候就很容易了。
感謝各位的閱讀,以上就是“SQL權限設置的問題實例分析”的內容了,經過本文的學習后,相信大家對SQL權限設置的問題實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。