2011-03-30 13 views
4

これはこのquestionにリンクされており、しばらく前に尋ねたようです。ドメイン駆動型設計の基本原則を遵守しているプロジェクトにおけるセキュリティ実装。
ユースケース:新しい銀行預金が作られ、それが最初の預金ドメインドリブンの設計とセキュリティ

であるとして承認を必要としている私には、例に

銀行システムを与えてみましょう。預金額が bの場合、書記官は自動的に承認することができます。マネージャーには、銀行マネージャー/アカウントマネージャーの2種類があります。 ONLYアカウントマネージャは、次のように私の懸念がある> 5000

預金を持っているすべてのアカウントを承認することができます(関心自体が正しいかどうかPLSの修正)

  1. わからない私は、この次のロジックを構築する必要がある - の世話をしますログオンしたユーザーが、自分のタイトルを説明するために取り入れる特定のことを行う権限を持っているかどうかをチェックする - このケースでは、アカウントマネージャー。認可はユースケースですが、セキュリティレイヤーはドメインオブジェクトに関する親密な知識を持っているようです。
  2. 一般に認可(認証ではありません)。私はロールベースの認証が助けになることを知っていますが、問題は "どこで" - どのレイヤーとコールフローにありますか。 UIレイヤーがセキュリティレイヤーを呼び出すべきか、またはドメインレイヤーがすべての可能な組み合わせに対して自分自身を検証するのでしょうか?

助けてください。非常に混乱しています。

これは専門家を取得する場合バンプを見るためには、

乾杯

答えて

3

セキュリティは、すべてのクラス、メソッド、プロパティに影響を与えることができ、クロスカッティングデザイン機能です注意してください。

DDDの観点からは、仕様と役割について説明します。

これらの仕様がどこでどのように実装されるのかについては、アーキテクチャによって異なります。あなたはのインライン呼び出し、イベントなどで行くことができ、側面に行くことができる

ここ

私はに関するチェックアウトするだろういくつかのリンクがあり、セキュリティと役割:

+0

お返事ありがとうございます。私は見ている。 – VJVRR

+0

クイック返信をありがとう。 RBACは興味深いリンクでしたが、どのように見えるかを私に知らせるいくつかの例/クイックインターフェイス/クラスをもっと見ていました。初心者ここでは、theroticallyそれを得ることができます。実際には学習ラダーで。 – VJVRR

+0

私が使用するのは、CRUDを実行するときに各メソッドによって呼び出されるISecurity.Authorize(string userID)クラスです。ユーザーが認証され、更新されているオブジェクトを所有しているかどうか、または管理者であるかどうかを確認します。 –

関連する問題