0

実装認証の最善のアプローチについて疑問に思っています。ビジネス オブジェクトを使用したクライアント サーバー アプリのルール。

一般的な戦術は次のとおりです:
- DB 側: アプリケーションに 1 つのロールを実装し、すべてのアプリのユーザーに使用します
- ユーザーの権限とロールを定義し、ユーザーを適切なグループに割り当てます
- クライアント側: ビジネス オブジェクトのゲッター/セッター権限チェッカーに追加して許可します特定のユーザーのデータの書き込み/表示

私の懸念は、これがセキュリティの観点から本当に良いアプローチであるかどうかです。
DBがすべての情報をクライアントに送信し、クライアントのロジックが何を表示するかどうかを決定するように見えます。
したがって、潜在的に上級のユーザーは、自分のボックスからクエリを作成し、何でも確認/変更できます。ではない?

4

1 に答える 1

0

DB がクライアントにすべての情報を送信している場合、一部のユーザーには表示されない情報を含めて、セキュリティ上の問題があります。ユーザーが閲覧を許可されているデータの量のみを返す必要があります。

アプリケーションとデータベースの設計に密接にリンクされた認可の設計。非常に細かい (おそらくユーザーごとの) アクセス許可が必要な場合は、安全性を確保するために、設計のかなり深い部分でこれを指定できるようにする必要があります。実装する単純なルールしかない場合は、より高いレベルで作業して、特定のオブジェクトまたはテーブルへのアクセスをブロックすることができます。

于 2010-04-02T03:09:05.430 に答える