0

質問1

私はロール管理に精通しており、特定のロールの特定のメンバーがこれを実行し、これに機能的にアクセスできます。私がする必要があるのは、彼がいる役割ではなく、個々のユーザーを管理することです。

たとえば、「Sales」というロールを作成するとします。営業担当者ができることをロール権限で設定します。今、私は個々のユーザーをチェックしたいと思います。たとえば、これが "john" の場合、彼だけが作成したレコードを表示したいとします。彼がピーターなら、ジョンや他の営業担当者ではなく、彼が作成したレコードだけを彼に見せたい.

ASP.NET で使用できる「ユーザー管理」というものはありますか? そうでない場合は、自分で作成する必要があり、ASP.NET の「ロール管理」との統合はそれほどスムーズではないと思います。


質問2。

ユーザーログインにコントロールを使用しています。この時点でセッションを作成して、どのユーザーがサインインしているかを追跡して、そのユーザーに関する記録のみを表示できるようにしたいと考えています。どうやってやるの?

4

4 に答える 4

1

あなたの Q1 は、現時点では役割とユーザーの管理 (つまり、承認) に関するものではありません。これは、アプリケーション内の監査追跡に関するものです。

その方法は、問題のレコードを作成したユーザーの ID をそのレコードで取得することです。これにより、後でその ID をフィルター処理できます。

疑似データベース構造

Table Sales
    Field...
    Field...
    Field...
    CreatedByUser int not null, -- Populate this on creation and never change it again
    ModifiedByUser int not null - populate this on every row update including insert
于 2011-06-17T15:10:23.823 に答える
1

ASP.NET プロファイル プロパティを参照してください。

データベース内のレコードがユーザーの一意の ID に対応すると仮定すると、ユーザーごとにプロファイル プロパティに一意の ID を格納できます。

于 2011-06-17T15:12:00.503 に答える
0

あなたは認証と承認について話している。質問 1 については、カスタム認証プロバイダーを実装して、ユーザー レベルの制御を可能にしますhttp://msdn.microsoft.com/en-us/library/aa479048.aspx 質問 2 については、ログインして認証されると、セッションに次の内容が含まれます情報が自動的に含まれる userprinciple オブジェクト。

于 2011-06-17T15:13:29.940 に答える
0

1) 作成ユーザーでレコードをフィルタリングする場合は、レコードを作成したユーザーの ID をテーブルに記録する必要があります。を介して現在のユーザーの名前にアクセスし、 を介しUser.Identity.Nameてその ID (プロバイダーに依存)にアクセスできますUser.ProviderUserKey

2) セッションは ASP.NET で自動的に作成され、適切に構成された MembershipProvider があれば、User上記のオブジェクトを使用して必要なすべてのユーザー情報を取得できます。

ASP.NET のメンバーシップとロールの機能に少し慣れていないように思えます。実際には、説明していることを達成するために非常に適切に設定されているためです。このチュートリアル シリーズをチェックすることをお勧めします。

http://www.4guysfromrolla.com/articles/120705-1.aspx

于 2011-06-17T15:16:44.053 に答える