我正在尋找一些有關特定於客戶端/服務器解決方案的體系結構建議。保護敏感實體數據
客戶端是一個相當厚的客戶端,主要是服務器保持持久性,併發性和基礎設施問題。 服務器包含許多包含敏感信息和公共信息的實體。例如,假設實體是人,假定社會安全號碼和姓名是敏感的,並且年齡是公開可見的。
啓動客戶端時,會向用戶呈現多個實體,而不會泄露任何敏感信息。在任何時候,用戶都可以選擇登錄並對服務器進行身份驗證,但鑑於身份驗證成功,用戶可以訪問敏感信息。
客戶端正在託管一個域模型,並且我正在考慮將其實現爲某種「延遲加載」,從而使第一個請求實例化實體,然後使用敏感數據刷新它們。還沒有被披露時,他們的實體干將會拋出敏感信息出現異常,f.e:
class PersonImpl : PersonEntity
{
private bool undisclosed;
public override string SocialSecurityNumber {
get {
if (undisclosed)
throw new UndisclosedDataException();
return base.SocialSecurityNumber;
}
}
}
另一種更友好的方式可能是具有指示值是未公開的值對象。
有些擔憂:
- 如果什麼,然後出來在用戶登錄時,敏感數據被加載,但必須再次披露。
- 有人可能會爭辯說,這種類型的功能屬於域內,而不屬於某些基礎設施實現(即存儲庫實現)。
- 按照一貫的特性較大數量的問題時有這種類型的功能雜波的代碼
任何見解或討論表示讚賞的危險!