1

データベース サーバー上にある SQL Server データベースに (サービス経由ではなく) 直接接続する WPF アプリケーションを作成しました。ここで、ユーザー管理を作成する必要があります。ここで、各ユーザーは独自のログイン資格情報 (Windows 認証ではありません) を持ちます。これは私がそれをやろうと思った方法です:

  1. アプリケーションのインストール中に、DB 管理者から、データベースを作成するのに十分な権限を含むアカウントが提供されます。

  2. これらの資格情報を使用して、SQL Server に接続し、スクリプトを実行してデータベースを作成し、スクリプトを実行してこのデータベースのデフォルトの管理者ユーザーを 1 人作成します。このユーザーには完全な権限が与えられます。

  3. この新しいユーザーを使用して、データベースのすべてのユーザーとロールを管理します。

  4. アプリケーションのユーザーごとに、データベースにユーザーを作成する必要があります。

質問:

  • これは正しい方法ですか?

  • これをどのように管理するかについて私は混乱しています。データベースにユーザーとロールのテーブルがあり、データベースレベルでユーザーとロールを作成する必要がある場合、重複しているように見えますか?

それとも私は何かが欠けていますか?

4

2 に答える 2

1

ユーザー名/ログインではなく、ロールを作成し、ロールを介して物事を管理することで、おそらく別の方法で行うでしょう。データベースに 1 つのアプリケーション ログインを作成し、その資格情報を DB とアプリケーション間の通信に使用することをお勧めします。

于 2012-06-05T17:34:17.540 に答える
0

ごくわずかな重なりしかありません。ユーザー テーブルには、SQL アカウントと一致するユーザー名を格納します。重複するのはユーザー名だけです。他のすべての情報は、Users テーブルに格納されます。

この方法で実行しても問題はありません。唯一の欠点は、インストールされている SQL Server にかなりの量のアクセス権を持つ管理者アカウントが必要なことですが、すでにそれを取り入れているようです考慮。

于 2012-06-05T17:27:30.567 に答える