これを約30分間グーグルで検索しましたが、役に立ちませんでした。真っ直ぐになりそうです。しかし、基本的には、コードを使用して新しいユーザーを作成していますMemebership.CreateUser(...)
。ユーザーの住所、都市、州などを設定する必要があります。これはユーザーのプロファイルになると思います。これを行うために使用できる.NET ラッパー (のようなMembership
) はありませんか? この情報を設定するにはどうすればよいですか?
2 に答える
web.config で ProfileProvider を構成する必要があります。
コードの後半で、そのユーザーのプロファイルを作成し、必要なプロパティ (名前、住所など) を設定できます。これは、 ASP.NET のメンバーシップ、ロール、およびプロファイルに関する Scott Mitchell によるチュートリアルです。
プロファイル プロバイダーにはさまざまな実装があり、自分で実装することもできます。
Sql Stored Procedure Profile Provider または Table Profile Provider を試すことをお勧めします。
フレームワークはSqlProfileProviderを提供します。提供されたリンクで読むことができます。
「プロファイル プロパティを定義した後、ASP.NET エンジンは、Web.config で定義されたプロパティにマップされるプロパティを持つProfileCommonクラスを自動的に作成します (これにより、IntelliSense とコンパイル時の型チェックが可能になります)。このクラスは動的に再作成されます。 Web.config で定義されたプロパティが変更されるたびに ..."
「カスタム ProfileCommon クラスは、ASP.NET ページのコード部分で HttpContext オブジェクトのProfileプロパティを介してアクセスできます。たとえば、ASP.NET ページから現在ログオンしているユーザーの HomepageUrl プロパティを読み取るには、単純に Profile.HomepageUrl を使用します。. ."
ただし、SqlProfileProviderを使用すると、住所、電話番号などのすべてのカスタム プロパティが 1 行の 2 列に保存されるため、適切な実装とは言えません。そのため、ストアド プロシージャまたはテーブル プロファイル プロバイダーの調査を提案しました。
別のテーブルを作成し、外部キーをUserId、つまりUniqueIdentifierとして使用し、aspnet_Usersテーブルで同じものを使用できます。
UserId を使用すると、この新しく作成された table.bcoz asp_net_membership テーブルで既に aspnet_user テーブルにリンクされているすべてのメンバーシップ テーブルを管理できます。
メンバーシップ作成ユーザーのステータスが成功になったら、新しく作成したテーブルに行を作成します。