1

カスタム SQL メンバーシップとロール プロバイダーで保護しようとしている Web アプリケーションの関係と階層を泳いでいます。私は、フォーム認証、プリンシパルなどについて少し曖昧です。そう -

web.config は、カスタム メンバーシップ プロバイダーとカスタム ロール プロバイダーを使用したフォーム認証用に設定されています。

架空の Web アプリが起動すると、カスタム メンバーシップ プロバイダーのメソッドを使用して、データベースからのユーザー ログインが検証されます。

この時点で、providerUserKey をプリンシパル オブジェクトに貼り付けて、暗号化して Cookie に保存していると思いますか?

既存のシステムの別のテーブルへの外部キー (ID) など、ユーザーに関する他の情報を各ページに含めたい場合、データベースへのラウンドトリップを回避するためにそれを保持する最良の方法は何ですか?

この追加フィールドを含めるようにプリンシパルを拡張する必要がありますか? この追加フィールドを含めるためにメンバーシップ オブジェクトを拡張する必要がありますか? カスタム プロファイル プロバイダーを作成し、それを使用して追加のフィールドを格納する必要がありますか?

これらの識別可能な情報はすべてどこに保存されていますか? ユーザーがログインすると、カスタム プロファイル プロバイダーにはデータベース ラウンド トリップなしでアクセスできると想定していました。

4

1 に答える 1

0

データベースへの不要なラウンドトリップをなくすために、カスタム プロファイル プロバイダーを使用し、ユーザーのプロファイルを (セッションで) キャッシュします。

于 2009-04-20T23:11:20.870 に答える