2011-03-30 92 views
4

這是與這個question鏈接,這似乎已經問了一段時間。遵循域驅動設計基本原則的項目中的安全實施。讓我舉一個例子域名驅動的設計和安全

銀行系統:
使用案例:一個新的銀行存款正在做和需要審批,因爲它是第一次存款

一個。 b。如果存款金額爲 b。經理可以有兩種類型 - 銀行經理/客戶經理。只有客戶經理可以授權具有存款> 5000

我關注的是如下的任何帳戶(請正確的,如果關注本身是正確的)

  1. 不知道我應該在哪裏建立這個下面的邏輯 - 需要的護理檢查登錄用戶是否有權進行某些事情來考慮他的頭銜 - (本例爲客戶經理)。授權是一種用例,但安全層似乎對域對象有深入的瞭解
  2. 一般授權(不認證)。我知道基於角色的身份驗證會有所幫助,但問題在於「哪裏」 - 在哪一層和通話流程中。 UI層應該調用某個安全層還是域層會驗證所有可能的組合?

請幫忙。它非常混亂。

凹凸,看是否能得到專家注意到

乾杯

回答

3

安全是一個跨領域的設計功能,它可以影響所有類,方法和屬性。

從DDD的角度來看,你會選擇規格和角色。

這些規範在哪裏以及如何實現取決於您的架構。你可以用方面去,你可以在網上呼籲,事件等去

這裏有一些鏈接我想看看有關安全和角色:

+0

感謝您的快速回復。我正在看一看。 – VJVRR 2011-03-31 10:55:41

+0

感謝您的快速回復。 RBAC是一個有趣的鏈接,但我更關注一些示例/快速接口/類,它們會讓我瞭解它的外觀。這裏的新手,有理可以得到它。實際上在學習階段。 – VJVRR 2011-03-31 11:18:49

+0

我使用的是一個ISecurity.Authorize(string userID)類,它​​在做CRUD時由每個方法調用。授權檢查用戶是否已通過身份驗證並擁有正在更新的對象或者是否爲管理員。 – 2011-04-01 21:25:46