這個網上方法挺多的,個人認為最簡單的就是在管理員表加個權限字段,在顯示欄目處加個判斷,不過這種方法不是很安全;再就是在數據庫建張node表、role表、role_user表、access表,其中node表存放結點,也就是欄目,role表存放權限,role_user表就是用戶權限表,access表存放node_id、role_id等,不過中間有好多細節需要好好琢磨
網站建設公司,為您提供網站建設,網站制作,網頁設計及定制網站建設服務,專注于企業網站設計,高端網頁制作,對酒樓設計等多個行業擁有豐富的網站建設經驗的網站建設公司。專業網站設計,網站優化推廣哪家好,專業成都網站營銷優化,H5建站,響應式網站。
可以使用acl控制實現,參考acl全集如下:
1、角色表
角色id - 用戶組id - 特殊權限id(其中特殊權限 用戶組所包含權限)
2、用戶組表
用戶組id - 用戶組信息
3、權限表
權限表id - 權限信息 - 與功能模塊的關系
4、用戶組-權限關聯表
用戶組id - 權限集合
5、特殊權限表
特殊權限id - 權限集合
注意:
1、設置權限的刪除、添加主要圍繞在 用戶組-權限關聯表、特殊權限表。
2、用戶的權限獲取則是驗證登陸的時候通過用戶組和特殊權限獲取權限集合。
3、展示的時候,根據2獲取的權限集合從權限表獲取所有功能模塊的導航菜單。
實例代碼不給你提供了,還是自己去寫的好。
提供一下思路:
按照我的方法,這樣去寫:
首先管理員表:
tb_admin ? #管理員表
ad_id ? #管理員ID
ad_username # 管理員用戶名
ad_password ?# 管理員密碼(多重MD5)或其他加密
ad_power ? ? ? # 管理員權限 默認null
ad_super ? ? ? ?# 超級管理員 0否 1是 默認0
超級管理員擁有所有權限,包括可以設定其他管理員的權限
你肯定是想控制管理員左側菜單欄的權限,首先建立一個數組,(左側菜單數組)
然后給定每一個菜單一個id 例如:
商品管理 a
新增商品 a1
商品列表 a2 (包含刪改查)
ad_power 中設定某個為 a1,a2
那么該管理員就有新增和列表兩個權限。
根據登錄者id查詢管理員表,得到權限
例如:
ad_id?=》3
ad_username=》?guanli003
ad_password?=》xayufdashfhdkajshfjahsk
ad_power???=》?a1,a2
ad_super?????=》0
//?$left_menu?左側菜單
$left_menu?=?array(
0?=array(
'flog'?='a1'?,
'title'?=?'新增商品',?
)
)
//?生成一個新的數組,只包含當前登錄者的權限
foreach($left_menu?as?$k?=?$v){
//?判斷管理員信息權限字段是否有該權限??
if(strpos($v['flog'],$admin[ad_power])){
//?組建新數組
}
}
在前端輸出該數組即可。
當然這只是我的一個思路,你可以擴充一下,引入自己的實際項目當中。包括,當power字段為空時設定默認的菜單等。
分享文章:php權限細分到數據 php權限管理設計思路
本文URL:http://vcdvsql.cn/article26/dopgecg.html
成都網站建設公司_創新互聯,為您提供網站內鏈、做網站、虛擬主機、網站建設、網站制作、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯