在PHP中实现权限

Kev*_*vin 8 php permissions

我试过几次这样做没有运气.阅读这篇文章之后,它让我有兴趣再次这样做.所以有人能告诉我为什么以下不起作用?

<?php

$guest = 1;
$editor = 2;
$admin = 4;

$user = $editor;

if( $user == ($editor | $admin) ) {
    echo "Test";    
}

?>
Run Code Online (Sandbox Code Playgroud)

Jer*_*ten 11

使用按位OR运算符(|)设置位,使用AND运算符(&)检查位.您的代码应如下所示:

<?php

    $guest = 1;
    $editor = 2;
    $admin = 4;

    $user = $editor;

    if( $user & ($editor | $admin) ) {
        echo "Test";    
    }

?>
Run Code Online (Sandbox Code Playgroud)

如果您不理解二进制文件以及按位运算符的确切内容,您应该去了解它.你会明白如何更好地做到这一点.


dra*_*ank 6

为了不重新发明轮子,为什么不看看像Zend ACLZend Auth这样的ACL /认证系统?两者都可以作为一个整体独立于Zend Framework使用.访问控制是一个棘手的情况,因此它至少可以看到其他系统如何做到这一点.