1

手順の表を作成していますが、「ログインしているユーザー」だけがその手順にアクセスできるようにする方法を見つける必要があります。

私の最初の考えは、この情報を次のCertifiedようにテーブル内の列に保存することです。'JohnD', 'JasonD', 'JaneD'. 次に、ログインしているユーザーが列に保存されているユーザー名の1つである場合にのみ、その手順を示すことができましたCertified

Active Directory からユーザーを収集するので、users テーブルがありません。ユーザー名や氏名などに簡単にアクセスできます。

手順テーブルには多くの手順があり、KPI テーブルには手順ごとに多くの KPI があります。ただし、ログインした人だけが、認定されている KPI を表示できるようにしたいと考えています。

私はこれについて良い方法で進んでいますか?

4

2 に答える 2

2

これは多対多の関係です。これを試して:

手続き表
  プロシージャー ID
  ... プロシージャ テーブルの他の列

ユーザーテーブル
  ユーザーID
  ... ユーザー テーブルの他の列

User_to_Procedure テーブル (これは結合テーブルです)
  プロシージャー ID
  ユーザーID

user-to_procedure テーブルに、user-can-access-procedure の組み合わせごとに 1 つの行を入れます。

ユーザーを識別する別の方法 (Active Directory など) がある場合、ユーザーのテーブルはオプションです。Active Directory の場合、結合テーブルの user_id は、Active Directory から取得した識別子です。

join tableのウィキペディア リンクは次のとおりです。wiki ページでは、これをジャンクション テーブルと呼び、結合テーブルをシノニムとしてリストしています。

于 2013-06-05T17:17:31.863 に答える
0

AD からユーザーを取得しているからといって、ユーザー テーブルやプロシージャ テーブル内のユーザーへの参照を使用できないわけではありません。必要に応じてそのレコードを入力できます。つまり、ユーザーが手順に関連する何かにアクセスする必要がある場合、そのユーザーが認証されているかどうかを確認してから、関連するレコードをその場で作成できます。

于 2013-06-05T17:17:11.860 に答える