管理者ユーザーがアカウント上の標準ユーザーが実行できるほとんどすべての操作を制御できるようにしたいと考えています。グループのアクセス許可を作成して管理する場合は、100行以上のブール値を持つ巨大なテーブルを持つ方がよいでしょうか、データベースのテキストフィールドに格納されているハッシュにすべてのアクセス許可を格納する方が良いでしょうか?彼らがすることができないものだけを保管するのだろうか?または彼らができることは何ですか? (どちらのリストが最も小さいのですか?)私は自分のレールアプリでグループ権限を実装したいと思っています。最も効率的な方法は何ですか?
ウェブアプリケーションでこれを行うための標準的なアプローチはありますか?
私が保存したいもののいくつかの例:
can_delete_object?
can_edit_object?
can_create_object?
can_delete_minions_object?
can_delete_managers_object?
私は本当にcan_が好きですか? can-canが使用できる構文。 Can-canは、何かを行うための関数を定義する以外のものだったらすばらしいでしょう。これらのブール値をすべて格納することに加えて、私はまだ終わるかもしれません。グループレベルのアクセス権をオーバーライドするアカウントレベルのアクセス許可があるためです。
私はcancanを見てきましたが、DBベースではありません。それはすべての方法です...と私は最終的にメソッドの束を使用する必要があります.. so私はこれを見るかもしれません...しかし、私とあなたの/ libフォルダに移動します。私はいくつかの例を追加します。 – NullVoxPopuli