私のチームは、Java をフロントエンドとし、PL/SQL をバックエンドとするアーキテクチャを持つ内部 (既知のユーザー) アプリケーションを開発します。そのため、現在、ユーザー/権限を管理するためのより良いソリューションを検討しており、2 つのオプションがあります。
各ユーザーには、パーミッションが付与された独自のデータベース アカウントがあります。現在、レガシー システムはこのアプローチを使用していますが、データベース オブジェクトの粒度に基づいてアクセス許可を管理するため、私は好きではありません。したがって、ユーザーごとにデータベース接続を行うのは悪い選択だと思います。ここでもっと短所を見ることができますか?
データベースにいくつかのテーブルを作成してユーザーとその権限/プロファイルを保存し、PL/SQL プロシージャを作成してログインを行い、トークンを生成し、他のすべての PL/SQL にパラメーターを含めてこのトークンを検証し、承認します (または承認しません)。実行。
ですから、私に尋ねてください: Web アプリケーションでアクセス許可を管理しないのはなぜですか? 回答: これらの PL/SQL は既に作成されており、すべてのレガシー システムで使用されています。この Web アプリケーションは、それに応じて動作する必要があります (つまり、ユーザーのアクセス許可は PL/SQL とその細分性に基づいて管理する必要があります)。
この場合、どのように進めますか?