1

現在、ユーザーは管理者、用務員、教師などです。現在、デフォルトのプロバイダーを使用しています。

すぐに複数のクラブができるはずです。すべての役割は同じで、すべてのクラブで利用できます。ユーザーは複数のクラブに所属し、クラブごとに異なる役割を担っている場合もあれば、どのクラブにも所属していない場合もあります。

役割とクラブはデータベースに保存する必要があります。

これを行う簡単な方法はありますか。理想的には、このようなことをしたいと思います。

[Authorize Roles = RoleName.Foo + Clubname.Bar]
4

3 に答える 3

2

Role Providerクラスを使用してその動作をカスタマイズし、ここに示すように実装することができますASP.NET MVC - Role Provider の代替?

少なくとも始めて、いくつかの新鮮なアイデアを得るために。

お役に立てれば。

于 2012-09-28T14:47:45.753 に答える
1

デフォルトの Authorize 属性の役割では、単なる文字列名です。enum Rolesを受け入れるようにサブクラス化した人もいます。

おそらく、すべてのクラブをロールとして作成し、すべてのロールをロールとして作成し、クラブ名のロールと適切なロール レベルの両方を要求することができます。しかし、それはロールの意味の破損のようです。カスタム承認プロセスなしでこれを行うことができるとは思えません。

Authorize 属性を継承するカスタムの authorize 属性を作成することを検討します。これを拡張して追加情報を取得できます。Simple Membership プロバイダーを使用して、メンバーシップ システムの拡張/カスタマイズを検討できます。

于 2012-09-28T09:53:42.007 に答える
0

「Administrator.Club1」や「Janitor.Club2」などのロール名を作成できます。

これは、クラブの数が比較的少ないことを前提としています。

于 2012-09-28T09:13:54.133 に答える