2

まず最初に、私を厳しく非難する前に、私はこのトピックを読み、調査するのにかなりの時間を費やしたと言いたいです。次のようなstackoverflow自体についていくつか読んだことがあります

  1. Web MVC アプリケーションにアクセス制御リストを実装するにはどうすればよいですか?
  2. ACL のデータベース スキーマ

私が興味深いと思ったのは、適切な acl 実装を作成する方法を必然的に説明し、これらの両方の方法に従ったことです。また、クエリの最適化とパフォーマンスへの影響を理解するために、Korth による Database Concepts を参照しました。

しかし、私の本当の問題は、このばかげたアプローチに行き着きます。データベースにロールを作成し、テーブルにアクセス許可を付与してから、それぞれのロールを使用してデータベースにアクセスする方がよいのではないでしょうか。私はSQL SERVERを使用しているので、接続文字列でユーザー名とパスワードを指定して、それを乗り越えるだけです。独自の ACL 実装の記述とテストに多くの時間を費やすのではなく、そのようなアプローチの長所と短所を知りたいだけです (学習は楽しいことに同意します:D)。そこでアドバイスをお願いします。

4

1 に答える 1

4

わかりました。「データベースにロールを作成し、テーブルに権限を付与してから、それぞれのロールを使用してデータベースにアクセスする方が良いのはなぜですか?」という質問が見つかりました。:)

違いは、フロントエンド、サイト管理、およびデータベース管理です。

フォーラムを検討してください。役割または役職のリストがあり、それぞれができることとできないことについて異なる権限のセットを持っている場合があります。これには、閲覧、投稿、返信、新しいスレッドの作成、トピックの作成が含まれます。

フォーラム ユーザーにはこれらのロールのみが表示されますが、サイト管理者にはこれらのロールの権限が表示されます。これらのロールがデータベース アカウントとどのように関連しているかを確認できるのは、データベース管理者だけです。

一部のアカウントは、あるインスタンスでは挿入権限を持っていても、別のインスタンスでは同じ権限を持っていない場合があります。ACL パーミッションが設定されたロールにユーザー アカウントをリンクすることにより、ロールは SQL アカウントと連携して、バックグラウンドで適切なアクセスを提供できます。

それがあなたの質問に答えることを願っています。:)

于 2013-05-12T07:43:08.300 に答える