私は、カスタムSQLメンバーシップとロールプロバイダで保護しようとしているWebアプリケーションの関係と階層を泳ぎつつあります。私は、フォームの認証、プリンシパル、などの上で少しぼやけています。 So -ロール、メンバーシップ、プロファイル、プリンシパル、フォーム認証
web.configは、カスタムメンバーシッププロバイダとカスタムロールプロバイダとのフォーム認証用にセットアップされています。
私の架空のWebアプリケーションが起動すると、カスタムメンバーシッププロバイダのメソッドを使用してデータベースからのユーザーログインを検証します。
この時点では、cookieに格納され、暗号化されたプリンシパルオブジェクトにproviderUserKeyが貼り付けられていると仮定します。
既存のシステムの別のテーブルへの外部キー(ID)など、ユーザーに関する各ページに他の情報を含める場合は、データベースへのラウンドトリップを避けるためにそれを保持する最善の方法は何ですか?
この追加フィールドを含むようにプリンシパルを拡張しますか? この追加フィールドを含むようにメンバーシップオブジェクトを拡張しますか? カスタムプロファイルプロバイダを作成し、これを使用して余分なフィールドを保存しますか?
これらの識別可能な情報はすべて保存されていますか?私は、カスタムプロファイルプロバイダは、ユーザがログインした後にデータベース往復なしでアクセスできると仮定していました。