0

私は自分のプロジェクトに ASP.NET メンバーシップとロールを使用しようとしていますが、さまざまな記事、投稿、および SO を調べて、機能全体をゼロから手作業でコーディングするよりも、それを使用する方が良いオプションであるかどうかを確認しています。しかし、何日も検索した後、次のシナリオが可能かどうかはまだわかりません.

  1. 私のアプリケーションのユーザーにはロールがあり、会社にも属しています。したがって、ユーザーに会社固有のデータを表示するには、別のページで会社 ID が必要になるため、ユーザーがログインしたらすぐに会社 ID を取得する必要があります。
  2. 役割は分類する必要があります。(つまり、アプリケーション管理者、会社管理者、会社ユーザー(マネージャー、フロントデスクなど)。したがって、会社管理者がユーザーに役割を割り当てるとき、彼/彼女はマネージャー、フロントデスクなどのみを割り当てることができ、アプリケーション管理者は割り当てることができませんでした。(私は追加することを考えました.役割を分類するために Roles テーブルに別のフィールドを追加しますが、それが良いことなのか悪いことなのか、メンバーシップ コントロールの動作をどのように変更するのかはわかりません)

正確な質問ではありませんが、このシナリオで ASP.NET メンバーシップを使用する必要があるかどうかについてアドバイスを求めています。

4

1 に答える 1

1

あなたが望むもののために、最初から書くことはお勧めしません。asp.net membersを使用して要件を処理できます。

1- ユーザー情報をプロファイル (会社、名前、...) に保存するか、別のテーブルを作成してユーザーを会社にマップできます。

2-2番目の質問については、アクセスを処理する別のクラスまたはメソッドを作成できます。

以下のようなもの:

public IList<string> GetRolesUserCanAssign(string userRole)
{
    var roles  = new List<string>();

    if(userRole == "Manager" || userRole == "FrontDesk")
    {
        return roles;
    }

    roles.AddRange(new[]{"Manager" , "FrontDesk"});

    if(userRole == "CompanyAdmin")
    {
        return roles;
    }

    if(userRole == "ApplicationAdmin")
    {
        roles.Add("CompanyAdmin");
    }

    return roles;
}
于 2013-02-09T14:05:55.353 に答える