アプリケーションから独立した「ビジネス」コンポーネントを開発するのが好きです。したがって、各コンポーネントは、かなり具体的な責任、境界、および依存関係を持つ独自のプロジェクトです。
例: ブックマーク コンポーネント。このコンポーネントは、ブックマークの作成、保存、削除、およびクエリを担当します。
ただし、重要な制約があります。各ユーザーは自分のブックマークを表示できますが、他のユーザーのブックマークを表示してはなりません。
- これは私を混乱させます。一方では、これは横断的な懸念であるアクセス制御と承認に関するものです。多くのコンポーネントがそれらを必要とするからです。
- 一方、この制約はブックマークと密接に関連しています。したがって、このコンポーネントに固有です。ビジネスルールのようなものかもしれません。
とにかく、アプリケーションのどの部分がこれに責任があるのか わかりません。私はすでにJAASによる認証を実装しています。したがって、JAAS をアクセス制御と承認にも使用できればよいのですが、これが適切な解決策であるかどうかはわかりません。
JAAS チュートリアルでは、誰がコードを実行しているかに基づいて承認/アクセス制御を行うことができ、アプリケーション (またはこの場合はコンポーネント) のアクセス許可を作成できることがわかります。反対に、ポリシー ファイルで部分的に機能しますが、ファイルを介してユーザーごとにアクセスを許可したくありません。ユーザーがアクセスできるブックマークの情報は、私のデータベースに保存されています。
- JAAS はこの種のアクセス制御/承認を解決できますか? もしそうなら、どのように解決できますか?
- 私を助けるかもしれないパターンはありますか?