① php 登錄許可權問題,同一個頁面,許可權不一樣,登錄以後看到的功能也不一樣,誰有代碼最好貼出來
-----------------------------------------以下是設置許可權比較常用的一種
1----你用mysql或記事本等工具儲存用戶信息的時候加一個欄位」user_rank「,用於判斷用戶的級別(如:管理員值user_rank=admin、普通用戶user_rank=user)。
2----你在所使用的頁面前可以提取當前用戶的user_rank值,然後用if語句來判斷用戶級別,分配給當前用戶一定的許可權代碼如下:
if($user_rank == "admin")
{
/*對管理員顯示的頁面輸出*/
//執行刪除的語句
//執行增加的語句
}
else if($user_rank == "user")
{
/*對普通用戶,執行瀏覽*/
}
----------------------------------------------------------------
不明白再問我。
② 如何用PHP根據用戶許可權,顯示對應的菜單想找一下相關的例子,希望各路大佬多多指教
把菜單成一個資料庫表,指定一個鍵。如:
id:1, title:文章管理, icon: document, url: admin/article/index (更多欄位根據需要設置)
id:2, title:產品管理, icon: cube, url: admin/proct/index
id:3, title:系統設置, icon: setting, url: admin/setting/index
然後在管理員表中添加一個varchar(500) (長度根據你的菜單總數估計)或text欄位
在管理員許可權管理中列出所有菜單項,把id作為健值,選中的保存在管理員表的許可權欄位中
格式類似: 1,2,3
然後在輸出菜單的時候進行許可權判斷
//將許可權欄位切割成數組
$perms = explode(',', $user['permission']);
foreach($menus as $menu){
if(in_array($perms, $menu['id'])){
echo '<a href="'. $menu['url'].'" >'.$menu['title'].'</a>';
}
}
然後在每個頁面根據頁面對應的許可權id做一個判斷
//比如在文章頁面
if(!in_array($perms, 1)){
exit('沒有許可權');
}
以上是大體思路,具體根據你的系統設計編寫代碼並對應地優化。
③ php許可權管理如何實現
可以使用acl控制實現,參考acl全集如下:
1、角色表
角色id - 用戶組id - 特殊許可權id(其中特殊許可權 > 用戶組所包含許可權)
2、用戶組表
用戶組id - 用戶組信息
3、許可權表
許可權表id - 許可權信息 - 與功能模塊的關系
4、用戶組-許可權關聯表
用戶組id - 許可權集合
5、特殊許可權表
特殊許可權id - 許可權集合
注意:
1、設置許可權的刪除、添加主要圍繞在 用戶組-許可權關聯表、特殊許可權表。
2、用戶的許可權獲取則是驗證登陸的時候通過用戶組和特殊許可權獲取許可權集合。
3、展示的時候,根據2獲取的許可權集合從許可權表獲取所有功能模塊的導航菜單。
④ php里,管理員登錄,就可以修改資料庫數據,這個許可權的原理是什麼
利用session和cookie實現,
session是保存在伺服器的會話記錄,當管理員登陸後,對於每個管理操作,都有一段PHP代碼用於檢查session中的用戶是否管理員身份,是則允許管理操作;
cookie是保存在瀏覽器的登陸數據,譬如登陸之後瀏覽器存下了用戶名和登陸密碼,每次與伺服器的會話都向伺服器發送cookie的數據,此過程中PHP提取cookie里的用戶名和密碼信息進行校驗,通過後允許管理操作。