1

管理者ユーザーが、アカウントの標準ユーザーが実行できるほぼすべてのアクションを制御できるようにしたいと考えています。彼らが管理するグループ権限を作成する場合、100 行を超えるブール値を持つ巨大なテーブルを用意する方がよいでしょうか?それとも、すべての権限をデータベースのテキスト フィールドに格納されたハッシュに格納する方がよいでしょうか? たぶん、彼らができないことだけを保存しますか?または彼らができること?(どちらのリストが小さいことが多いですか?)

webapps でこれを行うための標準的なアプローチはありますか?

私が保存するもののいくつかの例:

can_delete_object?
can_edit_object?
can_create_object?
can_delete_minions_object?
can_delete_managers_object?

私は本当にcan_が好きですか?can-can が使用する構文。物事を行うための関数を定義すること以外であれば、Can-can はすばらしいでしょう。これらすべてのブール値を保存することに加えて、私はまだやっているかもしれません..グループレベルのアクセス許可を上書きするアカウントレベルのアクセス許可があるためです。

4

3 に答える 3

1

これがRuby認証gemの素晴らしいリストです

私はCanCanとacl9を徹底的に使用し、他のいくつかをレビューしました。CanCanを使用するという推奨事項に同意しますが、ユーザー、役割、およびグループに割り当てられた権利管理を必要とする複雑なアプリでacl9gemを使用しても十分な成功を収めました。

于 2012-02-29T05:25:36.043 に答える
0

それはパーミッションが正確に何であるかに依存します.おそらくCanCanのようなものがあなたが求めているものですか?

https://github.com/ryanb/cancan

それ以外の場合、いくつかの権限について説明できますか?

于 2012-02-29T02:38:07.103 に答える