Хорошо, вот суть того, что я планирую сделать.
У меня будет два стола.Один с "званиями" или "ролями" и один с пользователями.Я хочу назначить разрешения для роли / пользователя и отозвать разрешения для пользователя.
Итак, просто для общих целей скажем, что у нас есть $ role_can $ user_can и $ user_cant
Iзнать, что для определения каких целей мы можем использовать побитовое ИЛИ.$ permissions = ($ role_can | $ user_can) и это объединит их.
Теперь я хочу иметь возможность отозвать определенные разрешения после этого.Это НОРМАЛЬНО делается с использованием побитового XOR, но я хочу сделать это доказательством идиота.Другими словами, я не хочу случайно дать им доступ к разрешению, исключив разрешение, которым они еще не владеют.
Каков наилучший способ сделать это?
Традиционно(($ role_can | $ user_can) ^ $ user_cant) - но это не сработает для проверки идиота.
Я все еще довольно новичок в битовых операциях, поэтому будьте спокойны, если ответ очевиден.
Я использую PHP, но приемлемый ответ может быть на любом языке / псевдокоде, если он работает и его легко понять.
Спасибо.