0

アプリケーションから独立した「ビジネス」コンポーネントを開発するのが好きです。したがって、各コンポーネントは、かなり具体的な責任、境界、および依存関係を持つ独自のプロジェクトです。

例: ブックマーク コンポーネント。このコンポーネントは、ブックマークの作成、保存、削除、およびクエリを担当します。

ただし、重要な制約があります。各ユーザーは自分のブックマークを表示できますが、他のユーザーのブックマークを表示してはなりません。

  • これは私を混乱させます。一方では、これは横断的な懸念であるアクセス制御と承認に関するものです。多くのコンポーネントがそれらを必要とするからです。
  • 一方、この制約はブックマークと密接に関連しています。したがって、このコンポーネントに固有です。ビジネスルールのようなものかもしれません。

とにかく、アプリケーションのどの部分がこれに責任があるのか​​ わかりません。私はすでにJAASによる認証を実装しています。したがって、JAAS をアクセス制御と承認にも使用できればよいのですが、これが適切な解決策であるかどうかはわかりません。

JAAS チュートリアルでは、誰がコードを実行しているかに基づいて承認/アクセス制御を行うことができ、アプリケーション (またはこの場合はコンポーネント) のアクセス許可を作成できることがわかります。反対に、ポリシー ファイルで部分的に機能しますが、ファイルを介してユーザーごとにアクセスを許可したくありません。ユーザーがアクセスできるブックマークの情報は、私のデータベースに保存されています。

  1. JAAS はこの種のアクセス制御/承認を解決できますか? もしそうなら、どのように解決できますか?
  2. 私を助けるかもしれないパターンはありますか?
4

1 に答える 1

1

You should store the owner of each bookmark in the table. You should require every request to be authenticated. Then you should only return records which are owned by the authenticated user.

If you want to enable users to share with each other, it gets a lot harder.

于 2013-10-18T02:15:32.490 に答える