1

各ユーザーのデータが他のユーザーから分離され、ユーザー間で共通のデータがないマルチユーザー アプリケーション (.NET - C#) を作成しています。どのユーザーも別のユーザーのデータにアクセスできないようにすることが重要です。

これを達成するために、データベース レベルおよび/またはアプリケーション アーキテクチャでセキュリティを実装するためのいくつかのアプローチは何ですか? たとえば (これは完全にでっち上げです。これが良い方法か悪い方法かを示唆しているわけではありません)、すべてのデータ テーブルに userID 列を含めることも方法の 1 つです。

私は C# (asp.net) と SQL Server 2008 でアプリを開発しています。私が使用しているツールまたは一般的なパターンでネイティブなオプションを探しています。

4

3 に答える 3

1

ユーザー ID を介してデータをユーザーに関連付ける方法が最も一般的だと思います。

別のアプローチは暗号化です。各ユーザーは、秘密鍵、実際のデジタル キー、または単なるパスワードを持つことができ、すべてのデータを秘密鍵で暗号化して、他のユーザーがアクセスできないようにすることができます。クエリなどのために、データをユーザー ID に関連付ける必要があります。

于 2010-06-07T01:36:49.243 に答える
0

これを行うことができます 1. dbo.users テーブルを作成し、次の列を作成します。これは完全ではないことに注意してください

table users
 -pid [uniqueidentifier]
 -userfname
 -userlname
 -useremail
 -userpwd




table userdata
  - datapid 
  - pid
  - [other columns to hoold data]

ユーザーがこのテーブルに対して認証されたら、ppid を使用して、そのユーザーに関連するデータを返し、入力および更新します。

于 2010-06-07T01:43:24.487 に答える
0

問題が解決する場合は、問題に合ったアクセス方法(誰がどのファイルにアクセスでき、読み取り、書き込み、削除の権限がある)を使用しないのはなぜですか(わかりません)?例えば:

  • (MAC)として知られる強制アクセス制御
  • 随意アクセス制御 (DAC)
  • 役割ベースのアクセス制御 (RBAC)
  • ルールベースのアクセス制御 (RBAC)

問題に適合する場合は、それらのいずれかを読んで選択できます。

于 2010-06-07T02:12:38.943 に答える