sql >> データベース >  >> RDS >> Oracle

アプリケーション層とデータベース層の間の認証に関する意見

    ほとんどのWebアプリケーションでは、セキュリティモデルはデータ層ではなくビジネスロジック層で定義されます。

    たとえば、Stack Overflowで投稿を編集する機能は、「投稿」テーブルの読み取り/書き込み機能によって制御されません。実際、データベースレベルの実装を可能にするデータベーススキーマを設計することすらできないでしょう。このレベルのセキュリティ。代わりに、自分の特権を実行しようとしているアクションと比較するビジネスロジックレイヤーがあります(私は推測します)。セキュリティはビジネスロジック層で実装されます。

    率直に言って、クレデンシャルをデータベースレイヤーに渡すことにはほとんどメリットがありません。SO投稿を編集できるユーザーを制御するためのビジネスロジックを何らかの方法でバイパスした場合、データベースの「読み取り/書き込み」制御はそれを妨げず、監査はそれを妨げません。本当にあなたを助けます。

    多くの欠点があります。特に、認証ロジックを2つ(ビジネスロジックとデータベース)に分割し、ビジネスロジックレイヤーとデータベースレイヤー(ユーザーがパスワードを変更する)間でアカウントを同期することで、あらゆる種類の面白い失敗モードを導入するという事実があります。パスワード、またはWebサイトを離れる)。これらすべてを適切にテストおよびデバッグする方法を想像することはできません。エンドユーザーがデータベース権限に関連するエラーを受け取った場合はどうなりますか?



    1. Oracle ListaGG、IDでグループ化された1つの列に示される上位3つの最も頻度の高い値

    2. SQL Server(T-SQL)でサーバーの現在のタイムゾーンを取得する

    3. jqueryhighlight()が動的テーブルに侵入

    4. Oracle NUMBERタイプをオーバーフローさせることは可能ですか?