私はDDD(ドメイン駆動設計)のやり方をしようとしています。そして少年は私に苦労します。私が読んだすべての本で、認証は問題ではなく、言及されていません!ドメイン駆動型設計のコンテキストで、認証と認可に関する情報はどこにありますか?
ユーザーの登録とログイン、塩漬けパスワードの作成などを担当する独自の認証サービスとメンバーシップサービスを作成しました。.NETのメンバーシッププロバイダは使用しませんが、フォーム認証を使用します。
私は今、私はドメインモデルの残りの部分はユーザーに自分自身を懸念べきではないと思います
Eメール、PasswordHash、承認ステータスなど、ユーザー名を保持しているUserモデルを実装しました。 Personとその関連データをモデル化するために使用されるPersonクラスがあります。このようにして、ユーザーおよび非ユーザーの個人データをモデル化することができます。 Companyタイプのオブジェクトは、ユーザーではなく人物で動作します。アクティビティは、ユーザではなく、個人に割り当てられます。
質問、PersonモデルをUserモデルに関連付けるにはどうすればよいですか?私は本当に2つのモデルのいずれかでお互いの参照をしたくないです。 PersonUserという関係モデルを作成し、現在認証されているユーザーのPersonオブジェクトを取得する追加のサービスを作成する必要がありますか?
私はそれをやりませんが、あなたのご意見ありがとうございます。私は、ドメインモデル内と私のデータベースの両方で、私のユーザを私のPersonモデルから切り離しました。物事を明確にするのを手伝って以来受け入れられている質問。 – kitsune
受諾いただきありがとうございます。私は本当にあなたがこれにどのようにアプローチしたか、そしてあなたの最終的な解決策が何であったかを聞いて本当に興味があります。私はオープンな心を保つことを確信しており、同じ問題に対する多くの異なるアプローチが誰もがより良いエンジニア/建築家になるための助けとなることを覚えています。 – datacop