資格情報とロールをデータベースに保存しない別のメンバーシップ プロバイダー API がある場合、アプリケーションのユーザー参照との参照整合性をどのように維持すればよいですか?
たとえば、メンバーシップ API とやり取りしますが、メンバー名を渡し、基本的にアクセス プロファイルまたはロールを要求しますが、基盤となるデータベースにはアクセスできません。
次に、返されたロールまたはプロファイルを使用して、アプリケーション内のアクセスを制御できます。このアプローチの問題点は、ユーザーのアクションに関する情報 (変更のログ記録、ワークフローでのタスクの割り当てなど) を保持するときに、プロバイダーからのユーザー ID を保存することですが、その情報はアプリ DB にないため、 DBの整合性を保つためにFKすることはできません。
メンバーシップ プロバイダーは、変更がアプリケーション DB の FK に違反しないことを保証する契約を私たちと結んでいないためです。
しかし、ユーザーごとに自分のアプリ DB 内の情報を集約したり、永続化された UserID への参照を強制したりできるようにする必要があるようです。
名前やプロバイダーからの ID などの定性的な情報を含む別の「薄い」ユーザー テーブルを検討しています...このテーブルは、おそらく最初のログイン時に入力されます。
利点は、アプリケーションのみで一部のユーザー情報に対してユーザー情報を集計できるようになり、アプリ DB 内で参照を強制できることです。欠点は、古い可能性があるユーザー データを複製していることです。