2009-06-30 8 views
2

ユーザー(住所、電話番号)に関する追加情報を保存したい。asp.net mvc - 登録ページ(メンバーシップ)と新規ユーザーテーブル(プロファイル)を拡張することは同じですか?

サンプルmvcテンプレートの登録ページを拡張するか、別の「プロファイル」テーブルを設定して別のページにする必要がありますか?

登録ページではうれしいようですが、登録用に設定されている "aspnet _" ...テーブルで問題が発生しているかどうかはわかりません。

提案がありますか?私は、可能な場合にもSQLにLINQを使用したいが、私はデフォルトの実装は、使いやすさの面では

System.Web.Security.membership

答えて

2

custom Membership Providerを作成することもできます。

+1

私はこれがたくさん示唆されているのを見ますが、私はまだ実際に動作する*シンプルな例を見ていません。 – nathanchere

+0

私はFerretallicAとここで完全に同意します。人々はいつも「ああ、Mはそれを考えて、あなた自身のMembershipProviderサブクラスを作ろう」と主張しています...興味深いことに、実際のソリューションの例は見つけるのが難しいです。 –

1

を使用している参照して、あなたは常にあなたの登録は限り短くなりたいです可能。たとえ現在開発中のアプリケーションが商用アプリケーションではないとしても、慣れるのは良い習慣です。したがって、フロントエンドを設計する最良の方法は、登録が成功した後にログインすると、訪問者から登録に必要な情報をほとんど必要とせずに、別の「プロファイル」ページを作成することです。

データベース設計上、プロファイルを別のテーブルに保存することをもう一度お勧めします。

これを実行したら、プロファイル情報を、ユーザーが編集できる別の情報セットとして扱うか、ProfileProviderを実装できます。 GetPropertyValuesとSetPropertyValuesを実装するだけです。

public class MyProfileProvider : ProfileProvider 
{ 
    public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection) 
    { 
    } 

    public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection) 
    { 
    } 
} 
関連する問題