Я хочу, чтобы мои пользователи-администраторы могли контролировать практически все действия, которые могут выполнять их стандартные пользователи в учетной записи. При создании групповых разрешений, которыми они могут управлять, лучше иметь гигантскую таблицу с более чем ста строками логических значений или лучше хранить все разрешения в хэше, хранящемся в текстовом поле в базе данных? Может быть, хранить только то, что они не могут сделать? или что они могут сделать? (какой список чаще всего меньше?)
Есть ли стандартный подход к этому в веб-приложениях?
Некоторые примеры того, что я буду хранить:
can_delete_object
can_edit_object
can_create_object
can_delete_minions_object
can_delete_managers_object?
Мне действительно нравится can_? синтаксис, который может-может использовать.
Can-can было бы здорово, если бы это было что-то иное, чем определение функций для выполнения действий. Что я все же мог бы в конечном итоге сделать в дополнение к хранению всех этих логических значений ... потому что есть разрешения уровня учетной записи, которые будут переопределять разрешения уровня группы.