1

ユーザーの役割やパッケージサブスクリプションに応じて、ユーザーの機能を選択的に無効にするためのレール用の優れた宝石/プラグイン/拡張機能はありますか?

たとえば、2つのパッケージ(標準、プレミアム)が存在します。標準パッケージでは、ユーザーはアプリケーション内で1か月あたり最大20の質問をすることができますが、プレミアムパッケージでは、ユーザーは1か月あたり50の質問をすることができます。そのため、機能の制限にはパッケージサブスクリプションのみが含まれるのではなく、すでに質問された質問の数も含まれます。

注:私はすでに簡単な承認タスクにcancanを使用しています。

ご協力いただきありがとうございます

4

3 に答える 3

1

可能であれば、cancan内にとどまるようにします。おそらく、認証にdeviseをすでに使用していますか?もしそうなら、私はカンカンを修正しようとします。そのユーザーがスーパーユーザー(sysadmin)、premium_user、またはstandard_userのいずれかである場合の基本的なケースでは、これら3つの役割を持つことができます。

ユーザーが複数のものに登録できる場合は、メンバーシップ/製品登録クラス(user_id、package_id、membership_level_id)を作成するか、スコープ/条件/フラグをユーザーに追加して、「何」から始めて誰が何を実行できるかを確認します。最初に資格のあるユーザーに渡ります。

于 2012-07-30T16:58:30.200 に答える
0

を見てくださいRolifyCanCanこれは、リソースのスコープと承認に非常によく統合される優れた宝石です。
2つを一緒に使用する方法に関するドキュメントチュートリアル:
https ://github.com/EppO/rolify/wiki/Tutorial

于 2012-07-30T16:49:32.580 に答える
0

cancanを使用して継承可能なロールを定義できます。これにより、標準とプレミアムの2つの役割を作成し、プレミアムに標準のすべての機能を継承させ、独自の機能を定義することができます。

https://github.com/ryanb/cancan/wiki/Role-Based-Authorization

于 2012-07-30T21:31:07.117 に答える