0

了解しました。これが私が計画していることの要点です。

2つのテーブルがあります。1つは「ランク」または「役割」を持ち、もう1つはユーザーを持ちます。ロール/ユーザーベースで権限を割り当て、ユーザーベースで権限を撤回したい。

したがって、一般的な目的のために、$ role_can$user_canと$user_cantがあるとしましょう。

どの目的を指定するために、ビットごとのORを使用できることを私は知っています。$ permits =($ role_can | $ user_can)そしてそれは2つを結合します。

その後、特定の権限を撤回できるようにしたいと思います。これは通常、ビット単位のXORを使用して行われますが、ばかげた証拠にしたいです。つまり、まだ所有していない許可を除外して、誤って許可へのアクセスを許可したくないのです。

これを行うための最良の方法は何ですか?

従来(($ role_can | $ user_can)^ $ user_cant)-しかし、それはばかげたプルーフには機能しません。

私はまだビット演算にかなり慣れていないので、答えが明らかな場合は気楽にやってください。

私はPHPを使用していますが、それが機能し、簡単に理解できる限り、許容できる答えはどの言語/擬似コードでもかまいません。

ありがとう。

4

1 に答える 1

2

ビット単位の「not」演算子を使用できます。

(($role_can | $user_can) & ~$user_cant)
于 2010-07-08T04:08:33.410 に答える