アプリケーションでビット単位のアクセス許可を使用する方法を学習しようとしています。問題は、それが機能していないことです:(
ユーザーがログインすると、次のようにセッションにユーザー オブジェクトを保存します。
[user] => User Object
(
[id] => 1
[firstname] => Firstname
[lastname] => Lastname
[emailaddress] => email@adres
[permissions] => 16
)
私は認証と呼ばれるクラスを持っており、そこでいくつかの定数を定義しています。
class authenticate {
const GUEST = 1; // 1
const USER = 10; // 2
const MODERATOR = 1000; // 8
const ADMIN = 10000; // 16
ユーザーが管理者にログインすると、ユーザーが管理者権限を持っていることを確認したいので、この方法で確認しようとします:
if ($_SESSION['user']->permissions & authenticate::ADMIN){
echo 'yep admin';
}else {
echo 'no admin';
}
許可として8番を持っていると言うことができるユーザーがいる場合、それは管理者ではなく、管理者なしと言うべきです..
ここで私が間違っていることを誰かに教えてもらえますか?
ありがとう!