2009-09-02 9 views
0

さまざまなユーザーとウェブサイトを作成したいと考えています。ユーザーは異なる役割、管理者、ユーザーを持つことができます。これは非常によく文書化された状況です。しかし私は自分の場所にユーザーをグループ化したいので、それぞれの場所で私は管理者とユーザーの両方を持つことができます。 - 多次元ロールシステムですか?ASP.NET、さまざまな種類のロールを持つユーザーを管理する方法

理由は、ドイツのユーザーは特定のドキュメントセットにアクセスする必要がありますが、イタリアユーザーは使用しないでください。

この特定のトピックに関するドキュメントはどこにありますか?私は、私の検索を制限するために、多少のキーワードが必要な場合があります。

答えて

2

異なるアプローチは、利用可能な別の場所に対応する別のロールセットを追加することです(たとえば、GermanyおよびItaly)。 すべてドイツ語のユーザーはGermanyのロール、ドイツの管理者のメンバーはGermanyAdminです。権限をチェックするときは、Adminと現在のロケールの両方をチェックします。

1人のユーザーが多くの役割を持つことができます。すべての

+0

私はそれについて考えましたが、どのように私は場所とユーザーの種類の役割を区別するのですか?私が90年代後半に使用したアプローチは、ユーザーテーブル、ロールテーブル、ロケーションテーブル、およびそれらをリンクするためのIDを持つデータベースを持つことでした。次に、私は異なるタイプを区別することができ、異なるタイプに基づいてルックアップを行うなどです。しかし、私はasp.netがこれを簡単にしてくれたかもしれないと思っています。それが私が探しているものです。それは理にかなっていますか? – Chau

+1

私はあなたの意見を見て、いいえ、この解決法はその質問に対する簡単な答えを提供しません。場所を明示的に指定できるようにすることが重要な場合は、標準のものを継承する独自の 'メンバーシッププロバイダ'を実装することができます。一方、管理者とユーザー(または1つまたは2つ以上の役割)しか持たず、残りが場所になる場合は、所有する役割を除いてすべて一覧できます。醜いですが、働いています... –

+0

非常によく似た選択肢は、2つの役割 "ドイツ"と "Germany.Admin"を作ることです。次に、 'User.IsInRole(" Germany ")&& User.IsInRole(" Germany.Admin ")'を実行することができます。各国の役割を作成する必要がありますが、特定の形式に従うと、ユーザーの所在とアクセス許可をいつでも知ることができます。 – Greg

0

カスタムプロファイルのプロパティを確認することができます。 MSDN

1

まず、4GuysFromRollaに非常に優れたチュートリアルシリーズを参照してください。http://aspnet.4guysfromrolla.com/articles/120705-1.aspx

第二に、ロール・プロバイダに建てられた、非常に初歩的です。あなたは文字列(ロール)にユーザーを関連付けると、それはかなりです。文字列(ロール名)にパックしない限り、ロールに関連付ける階層や追加のプロパティはありません。

+0

#1:ええ、私はそれを見ましたが、それでも私は混乱しています:) #2:まさに私が恐れていたもの。あなたが欠けていると言うことは、おそらく私が探しているものです:S – Chau

関連する問題