/***************************
* author : 大齡青年
* email :
* from:
* 其實這個有很多中的方式來實現。
1,可以在每個頁面中都單獨進行許可權判斷,這個是最大眾的方法。
2,可以為每乙個最終頁面檔案都作乙個配置檔案,用來進行許可權判斷,當使用者訪問這個頁面的時候,通過乙個函式來判斷,是否存在這個檔案。如果存在,就根據檔案的內容進行許可權判斷,如果不存在,就不用進行許可權判斷。
3,是統一作判斷,做乙個單獨的函式,通過一定的配置進行許可權判斷。
下面的乙個例子是第三種方法,這種方法適合於任何的情況,且比較通用。
步驟
一、整理訪問路徑資訊,把需要進行許可權驗證的路徑進行整理,整理成乙個列表
步驟二、整理需要進行許可權驗證的分類,為每一種許可權驗證作乙個單獨的函式,
步驟三、把
「訪問路徑」和 「許可權驗證函式」的對應關係,按 1:1 寫到乙個配置檔案或是陣列裡面,例如下面的 filter.php 裡面的 $filter
陣列步驟
四、做乙個驗證函式,解析當前的訪問路徑,進行許可權判斷。
是乙個普通的頁面檔案。例子中的函式都沒有具體實現,自己補充吧。
檔案一、filter.php
<?php$filter = array('/admin' => 'adminlogin',
'/admin/useradmin' => 'poweradminlogin',
'/myshop' => 'userlogin');
function
adminlogin()
function
poweradminlogin()
function
userlogin()
function
authorization()
?>
require_once "filter.php";authorization();
//其他的操作。
?>
以上我從網上找到的一種比較好的解決方案,根據這個寫了個簡單的例子,算是備份吧
<?phpfunction
aa()
function
bb()
function
cc()
function xx($url,$input
)
if(array_key_exists($url,$input
))
$url=dirname($url
); xx(
$url,$input
); }
$input['/a']='aa';
$input['/a/b']='bb';
$input['/a/b/c']='cc';
$url1="/a/b/c.php";
$url2=explode('.',$url1
);
$url3=$url2[0];
xx($url3,$input
);
;?>
在實現中,需要使用explode() 和 dirname() 兩個函式,其中當上級沒有目錄時dirnam()返回值是 「\\」 而不是 「/」,另外需要用遞迴進行匹配
繼續摘抄 php頁面訪問時,統一進行許可權驗證的設計
author 大齡青年 php頁面訪問時,統一進行許可權驗證的設計 其實這個有很多中的方式來實現。1,可以在每個頁面中都單獨進行許可權判斷,這個是最大眾的方法。2,可以為每乙個最終頁面檔案都作乙個配置檔案,用來進行許可權判斷,當使用者訪問這個頁面的時候,通過乙個函式來判斷,是否存在這個檔案。如果存在...
php頁面訪問時,統一進行許可權驗證的設計
php頁面訪問時,統一進行許可權驗證的設計 author 大齡青年 email wenadmin sina.com from 其實這個有很多中的方式來實現。1,可以在每個頁面中都單獨進行許可權判斷,這個是最大眾的方法。2,可以為每乙個最終頁面檔案都作乙個配置檔案,用來進行許可權判斷,當使用者訪問這個...
php頁面訪問時,統一進行許可權驗證的設計
關於 頁面顯示的時候,許可權判斷的問題有很多中的方式來實現。1,可以在每個頁面中都單獨進行許可權判斷,這個是最大眾的方法。2,可以為每乙個最終頁面檔案都作乙個配置檔案,用來進行許可權判斷,當使用者訪問這個頁面的時候,通過乙個函式來判斷,是否存在這個檔案。如果存在,就根據檔案的內容進行許可權判斷,如果...