コンテキスト意見:操作項目がある売り手のリスト項目</li> <li>インスタンス・レベルのセキュリティ
- コマース市場のためのアーキテクチャの青写真:: setPrice
- アイテムや顧客サービス担当者の売り手アイテムの価格を変更することができます。
- #3のセキュリティチェックは、セキュリティチェックのカバレッジを最大にするために、アイテムのデータアクセスレイヤの近くに実装されています。
ロトの人々のは直交懸念などのセキュリティについてお話したいが、それは容赦なく、ドメインモデルに結びついているので、私は、インスタンス・レベルのセキュリティを考える場合は特にそれとボード上の(現在は?)ないんだけど。最終的には、はを好んでいます。#3のセキュリティインバリアントは、(コードまたはSpring SecurityのELアノテーションによって)コードに明示的に記述されている必要があります。私はそのようなセキュリティインバリアントがビジネスロジックの一部であると考えます。私はまた、開発者の顔にセキュリティが必要です。 IMOの責務とは正反対のものではありません。
@PreAuthorize("hasRole('CSR_ITEM_WRITER') or #item.seller.id == principal.id')
public void setPrice(Item item, Money price) { ... }
私はそれがセキュリティモデルを進化さになる(しかし、そのような悪いことは、それが間違って得ることの影響を考慮することであるとき、これは硬直の一定量を作成し、実現:私のような何かを書くかもしれません
? )
また、CS担当者が売り手になる必要があるアプローチについても説明しました。それにはある程度の清潔さがあります(実際には、ユースケースではなく、ドメインの周りにセキュリティモデルが集中しています)。 (誰かを代理して行動しているかどうかを検出するためにN.B.十分な監査が行われます)
意見はありますか?