管理者ユーザーが、アカウントの標準ユーザーが実行できるほぼすべてのアクションを制御できるようにしたいと考えています。彼らが管理するグループ権限を作成する場合、100 行を超えるブール値を持つ巨大なテーブルを用意する方がよいでしょうか?それとも、すべての権限をデータベースのテキスト フィールドに格納されたハッシュに格納する方がよいでしょうか? たぶん、彼らができないことだけを保存しますか?または彼らができること?(どちらのリストが小さいことが多いですか?)
webapps でこれを行うための標準的なアプローチはありますか?
私が保存するもののいくつかの例:
can_delete_object?
can_edit_object?
can_create_object?
can_delete_minions_object?
can_delete_managers_object?
私は本当にcan_が好きですか?can-can が使用する構文。物事を行うための関数を定義すること以外であれば、Can-can はすばらしいでしょう。これらすべてのブール値を保存することに加えて、私はまだやっているかもしれません..グループレベルのアクセス許可を上書きするアカウントレベルのアクセス許可があるためです。