清风徐来
Michael's Blog
PHP中使用位运算实现简单的权限管理
//所有的权限    
$final_allow = PUBLIC_ARTICLE | CREATE_ARTICLE | MODIFY_ARTICLE  
             | DELETE_ARTICLE | SHARCH_ARTICLE | CREATE_COMMENT | DELETE_COMMENT; 
//增加权限使用 |  

echo "管理者拥有的全部权限:" .decbin($final_allow). "<br>";    

$no_shearch_allow = $final_allow ^ SHARCH_ARTICLE; 
//删除权限使用 ^ 或 & ~
echo "仅无法搜索文章的权限:" .decbin($no_shearch_allow). "<br>";    

//编辑人员独有的权限    
$editor_allow = PUBLIC_ARTICLE | MODIFY_ARTICLE | DELETE_ARTICLE;    
$no_editor_allow = $final_allow & ~$editor_allow;    
echo "非编辑人员所有的权限:" .decbin($no_editor_allow). "<br>"; 

//判断权限使用 & ( 是, 返回非0; 不是, 返回0) 

?> 输出为:

管理者拥有的全部权限:1111111 仅无法搜索文章的权限:1101111 非编辑人员所有的权限:1110010


最后修改于 2009-07-23