數(shù)據(jù)權(quán)限架構(gòu)思路php 數(shù)據(jù)權(quán)限設(shè)計(jì)方案
PHP網(wǎng)站用戶權(quán)限數(shù)據(jù)庫思路
這個(gè)網(wǎng)上方法挺多的,個(gè)人認(rèn)為最簡(jiǎn)單的就是在管理員表加個(gè)權(quán)限字段,在顯示欄目處加個(gè)判斷,不過這種方法不是很安全;再就是在數(shù)據(jù)庫建張node表、role表、role_user表、access表,其中node表存放結(jié)點(diǎn),也就是欄目,role表存放權(quán)限,role_user表就是用戶權(quán)限表,access表存放node_id、role_id等,不過中間有好多細(xì)節(jié)需要好好琢磨
網(wǎng)站數(shù)據(jù)庫表字段的訪問權(quán)限如何控制
個(gè)人覺得提的問題范圍有些大,如果只針對(duì)案例要解決這個(gè)問題很簡(jiǎn)單,只需要設(shè)置部門,個(gè)人的使用權(quán)限即可,權(quán)限都是疊加的,比如A員工只能查看A部門的工資,只需將A部門權(quán)限給a員工即可,部門隸屬權(quán)限都具備了這都不是問題了.
如果是企業(yè)級(jí)系統(tǒng)涉及多模塊及業(yè)務(wù)數(shù)據(jù)的權(quán)限控制的話,就需要設(shè)計(jì)獨(dú)立的數(shù)據(jù)權(quán)限模塊才能做到架構(gòu)層面解決了,可對(duì)表級(jí)設(shè)置權(quán)限策略.
建議通過phpMyAdmin 來設(shè)置數(shù)據(jù)庫用戶的權(quán)限。phpMyAdmin?是一個(gè)以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫管理工具,讓管理者可用Web接口管理MySQL數(shù)據(jù)庫。
一、首先您需要在服務(wù)器上安裝配置 phpMyAdmin。
安裝比較復(fù)雜,詳見
二、創(chuàng)建用戶(如之前已經(jīng)創(chuàng)建好用戶,可以省略這一步)
點(diǎn)擊“添加新用戶”這個(gè)連接,添加一個(gè)新的數(shù)據(jù)庫用戶名;
三、權(quán)限設(shè)置
編輯剛剛創(chuàng)建的用戶的權(quán)限(如下圖所示)
四、重新加載授權(quán)表
修改完用戶權(quán)限以后需要回到 phpMyAdmin 的首頁,重新加載一下授權(quán)(如下圖)即可。
數(shù)據(jù)權(quán)限設(shè)計(jì)思路(摘抄)
數(shù)據(jù)權(quán)限決定用戶能看到什么數(shù)據(jù)、多少數(shù)據(jù)量。
我們常接觸到的數(shù)據(jù)訪問權(quán)限都通過組織機(jī)構(gòu)去劃分,在實(shí)際應(yīng)用中,也可能會(huì)根據(jù)業(yè)務(wù)增加其他維度的訪問權(quán)限,如終端門店管理中單獨(dú)設(shè)置門店訪問權(quán)限,企業(yè)多品牌營(yíng)銷中設(shè)置品牌訪問權(quán)限等。
1、以機(jī)構(gòu)層級(jí)向下覆蓋
根據(jù)組織機(jī)構(gòu)樹設(shè)定用戶默認(rèn)擁有所屬組織及以下的數(shù)據(jù)訪問權(quán)限。也是最基礎(chǔ)的一種數(shù)據(jù)權(quán)限,對(duì)于簡(jiǎn)單的
2、與角色融合的數(shù)據(jù)訪問權(quán)限
在設(shè)定角色時(shí),同時(shí)設(shè)置該角色對(duì)應(yīng)功能權(quán)限下的的數(shù)據(jù)訪問權(quán)限層級(jí):本人、本部門、本部門及以下、全公司。
用戶可視菜單中的數(shù)據(jù)權(quán)限由擁有該菜單的角色數(shù)據(jù)權(quán)限而定,且當(dāng)一個(gè)用戶擁有多個(gè)角色時(shí),角色菜單有重疊的,取兩角色中最大數(shù)據(jù)權(quán)限,或數(shù)據(jù)權(quán)限并集。
3、設(shè)置部門訪問權(quán)限
用戶默認(rèn)擁有所屬組織及下級(jí)組織的訪問權(quán)限,同時(shí)可以自由配置其他部門的訪問權(quán)限,使得某些數(shù)據(jù)可以跨部門查看。
相比常規(guī)的基于企業(yè)組織架構(gòu),權(quán)限向下覆蓋的方式,采用部門訪問權(quán)限配置可以根據(jù)業(yè)務(wù)需求靈活地配置用戶的訪問數(shù)據(jù)范圍,避免了父、子、兄弟甚至其他節(jié)點(diǎn)間的數(shù)據(jù)共享糾結(jié),實(shí)現(xiàn)跨部門數(shù)據(jù)共享。
將數(shù)據(jù)訪問權(quán)限分配在用戶上,足夠靈活但也犧牲了維護(hù)便捷性,在用戶特殊訪問權(quán)限不多的情況下可以選擇該類方法進(jìn)行設(shè)置。
4、實(shí)際應(yīng)用中根據(jù)業(yè)務(wù)需要?jiǎng)澏〝?shù)據(jù)及功能權(quán)限范圍
在實(shí)際應(yīng)用中,僅通過部門設(shè)置數(shù)據(jù)訪問權(quán)限不一定能滿足業(yè)務(wù)數(shù)據(jù)的分界要求,在具體的功能里往往通過部門訪問權(quán)限+其他條件組合的情況來限制用戶數(shù)據(jù)權(quán)限范圍。
如【部門訪問權(quán)限+角色標(biāo)簽】,公司內(nèi)部有領(lǐng)導(dǎo)類的角色,某種業(yè)務(wù)的原始單據(jù)信息需要給高層領(lǐng)導(dǎo)類角色的查看權(quán)限,但涉及到管理分權(quán)又不想賦予該類人員所有部門訪問權(quán)限,此時(shí)要么單獨(dú)開入口查詢所有信息,領(lǐng)導(dǎo)類角色功能權(quán)限中都配置上該頁面,也可以在該頁面查詢數(shù)據(jù)時(shí),在部門訪問權(quán)限之前再加一層角色標(biāo)簽的判斷邏輯,若角色標(biāo)簽為領(lǐng)導(dǎo)的則不需要根據(jù)部門訪問權(quán)限過濾。
總結(jié)及碎碎念
B端系統(tǒng)權(quán)限設(shè)計(jì)中,系統(tǒng)權(quán)限區(qū)分為功能權(quán)限和數(shù)據(jù)權(quán)限,分別對(duì)應(yīng)系統(tǒng)中的功能模塊和系統(tǒng)中的數(shù)據(jù),功能權(quán)限大多基于RBAC模型,并可根據(jù)業(yè)務(wù)需要引入角色繼承、用戶組、角色標(biāo)簽等概念,數(shù)據(jù)權(quán)限主要基于用戶機(jī)構(gòu)、角色,或單獨(dú)在頁面中根據(jù)實(shí)際需要進(jìn)行配置。但最終,所有的設(shè)置都是需要基于業(yè)務(wù),先有業(yè)務(wù)、需求后有產(chǎn)品,只是權(quán)限配置這一功能模塊偏向于公司層面要求,受公司業(yè)務(wù)形態(tài)影響較小,所以能抽象出一套較廣泛適用的系統(tǒng)方法。
上一篇:php如何用導(dǎo)入數(shù)據(jù) php用來導(dǎo)入其他文件的語句
欄 目:PHP編程
下一篇:php數(shù)據(jù)庫輸入變量 php里輸出數(shù)據(jù)庫數(shù)據(jù)函數(shù)
本文標(biāo)題:數(shù)據(jù)權(quán)限架構(gòu)思路php 數(shù)據(jù)權(quán)限設(shè)計(jì)方案
本文地址:http://mengdiqiu.com.cn/a1/PHPbiancheng/17080.html
您可能感興趣的文章
- 04-02關(guān)于txt數(shù)據(jù)庫php的信息
- 04-02php本站才可以請(qǐng)求數(shù)據(jù) php本地?cái)?shù)據(jù)庫
- 04-02網(wǎng)頁里php操作數(shù)據(jù)庫 php網(wǎng)頁例子
- 04-02php打印請(qǐng)求數(shù)據(jù) php打印輸出結(jié)果
- 04-02php數(shù)據(jù)庫地址 phpstudy 數(shù)據(jù)庫
- 04-02php插入數(shù)據(jù)庫為亂碼 php連接數(shù)據(jù)庫亂碼
- 04-02php數(shù)據(jù)庫數(shù)據(jù)相加 php數(shù)據(jù)庫添加數(shù)據(jù)語句
- 04-02php數(shù)據(jù)庫輸入變量 php里輸出數(shù)據(jù)庫數(shù)據(jù)函數(shù)
- 04-02php如何用導(dǎo)入數(shù)據(jù) php用來導(dǎo)入其他文件的語句
- 01-11Laravel框架Eloquent ORM刪除數(shù)據(jù)操作示例


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02php本站才可以請(qǐng)求數(shù)據(jù) php本地?cái)?shù)據(jù)庫
- 04-02關(guān)于txt數(shù)據(jù)庫php的信息
- 04-02php打印請(qǐng)求數(shù)據(jù) php打印輸出結(jié)果
- 04-02網(wǎng)頁里php操作數(shù)據(jù)庫 php網(wǎng)頁例子
- 04-02php插入數(shù)據(jù)庫為亂碼 php連接數(shù)據(jù)庫亂
- 04-02php數(shù)據(jù)庫地址 phpstudy 數(shù)據(jù)庫
- 04-02php數(shù)據(jù)庫數(shù)據(jù)相加 php數(shù)據(jù)庫添加數(shù)據(jù)
- 04-02數(shù)據(jù)權(quán)限架構(gòu)思路php 數(shù)據(jù)權(quán)限設(shè)計(jì)方
- 04-02php數(shù)據(jù)庫輸入變量 php里輸出數(shù)據(jù)庫數(shù)
- 04-02php如何用導(dǎo)入數(shù)據(jù) php用來導(dǎo)入其他文
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法