質問

SQLMembershipProviderを使用していますが、ユーザーに関する詳細情報を追加したいです。これを実行して新しいDBを作成し、作成された新しいユーザーごとにエントリを作成するのが最善の方法ですか?その場合、新しいデータベースのユーザーテーブルでSQLMembershipProvider UserID値をPKとして使用しない理由はありますか?

または、新しいDBに新しいUserIDを作成し、SQLMembershipProvider UserIDをFKとして使用する理由はありますか?

役に立ちましたか?

解決

それがうまくいかない理由や、なぜそうしないべきなのか考えられません(PKとしてのユーザーID)

すべてに個別のデータベースを使用する理由がわかりません。おそらく現在のデータベースにテーブルを作成し、ユーザーIDをaspnet_usersテーブルのFKとして使用してセットアップするだけです。

他のヒント

メンバーシッププロバイダーを書き換える場合、すべてのPK列をGUIDからBITINTに切り替えます。これには2つの理由があります。 1つの連続番号は操作と理解がはるかに簡単で、2つ目はGUID IDの代わりにBIGINTを使用することによるパフォーマンス上の利点があります。また、アプリケーション内の他のテーブルを好きなように使用できる独自のid列を使用し、デフォルトでSQLメンバーシッププロバイダーにあるテーブルを削除します。これを行うには、プロバイダーの各関数にコードを提供する必要があります。小さなタスクではありません。

既存のデータベーススキーマのラッパーを作成しました。追加のプロパティを含む MembershipUser から派生したクラスと、派生 MembershipUser クラス。

メンバーシップ認証および更新メソッドのみを使用します。他のサポートAPIが多少制限されているためです。管理用のユーザーAPIを個別に作成/編集しています。

このソリューションは現在いくつかのサイトで使用されており、うまく機能しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top