2012-04-22 22 views
0

誰かがmembership.createuser()を使用せずにユーザーを作成し、asp.netでユーザーウィザードを作成する方法を教えてもらえますか?私はCreateUser()中に既存のテーブルに追加の挿入を実行する必要があります。Membership.CreateUser()を使用せずにユーザーを作成する方法は?

は、独自のカスタムメンバシッププロバイダを実装します。

+0

詳細を入力してください。既定のメンバーシップテーブルまたは独自のカスタムテーブルを使用していますか?あなた自身のカスタムプロバイダを作成したり、まっすぐなSQLを実行することを止めるものはありません。 –

+0

私はデフォルトのメンバーシップテーブルを使用しています。私のデータベースにはもう1つのテーブル(emp_details)が含まれています。このテーブルには、従業員の個人情報が含まれています。aspnet_membershipテーブルの "UserId"属性は、emp_detailsテーブルの外部キーと主キーです。私はemp_detailsテーブルに新しい従業員エントリを作成し、カスタムsqlコマンドを使用してデフォルトのメンバーシップテーブルにエントリを作成して、トランザクション内のすべてのsqlコマンドをラップすることができます。 –

答えて

0

はここに行くには2つの方法があります。これは、あなたが思っているよりも簡単で、かなり簡単です。周囲にはたくさんの記事があります。 ...あなたにいくつかの時間を節約する独自のカスタムメンバシッププロバイダを実装し、SqlMembershipProviderクラスから継承する

または

。サブクラスでは、ほとんどの場合、CreateUserメソッド以外の呼び出しを基本クラスに「転送」します。この場合、基本クラスにほとんどの作業をさせてからカスタム挿入を実行できます。しかし、それは1つのトランザクション(上のあなたのコメントごと)にする必要があるので、物事はちょっと毛深いかもしれません...そしてあなたのサブクラスでCreateUserメソッドを再実装する必要があるでしょう。

http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

注:私は、無線LANを経由して、今バス上ですが、あなたは私のためにemp_detailsスキーマが含まれている場合、私はほとんどあなたのためにこれを書くように誘惑しています。あなたはまっすぐなADO.NETまたは何か他のものを使用していますか?

関連する問題