私のシステムでは、パーミッションを allow と deny の 2 つのビットフィールドとして追跡します。deny にビットが設定されている場合、ユーザーのアクセス許可を決定するときに、allow の対応するビットを 0 に設定する必要があります。
つまり、次のようにする必要があります。
110101 (allow)
011001 (deny)
= 100100 (result)
現在、ビットごとにループして比較していますが、これをよりエレガントに表現し、より高速に実行できないか疑問に思っています。