2011-08-01 3 views
1

TSQLを使用して1000ユーザーをaspnet_membershipテーブルにインポートしようとしています。誰でもこれが可能かどうか、私に正しい方向を指摘してもらえますか?aspnet_membershipテーブルへのユーザーのインポート

要件は、以下のとおりです。

  1. ユーザーとプロファイルを作成します。
  2. パスワードを生成します。
  3. エンドユーザーに電子メールパスワードを送信します。

ありがとうございます。

+0

TSQLを使って直接行う必要がある理由はありますか?C#では、SqlMembershipProviderを使用して簡単なアプリケーションでこれを非常に簡単に行うことができます。 – Infotekka

+0

は日常的なプロセスになります。私はSSISパッケージを使用することを考えています。 –

答えて

1

暗号化されていないパスワード形式を使用する場合は、SQLを使用してdbo.aspnet_Membership_CreateUserストアドプロシージャを呼び出すだけで、ユーザーを作成できます。それはパラームの束を取ります。 @ApplicationName
@UserName
@Password
@PasswordSalt
@email
@PasswordQuestion
@PasswordAnswer
@IsApproved
@CurrentTimeUtc
@CreateDate
@UniqueEmail
@PasswordFormat
@ユーザーID(出力)

TSQLでパスワードを生成し、TSQLから電子メールを送信できます。このストアドプロシージャ:dbo.aspnet_Profile_SetPropertiesは、プロファイルのプロパティを設定します。

ハッシュまたは暗号化されたパスワードが必要な場合は、メンバーシップとプロファイルプロバイダを使用する管理コードを記述する必要があります。そうするのはかなり簡単です。プロバイダには、パスワードの生成と暗号化に必要なすべてのメソッドがあります。

でCreateUser (文字列のユーザー名、 文字列のパスワード、 文字列電子メール、 文字列passwordQuestion、 文字列にpasswordAnswer、 ブールisApproved、 オブジェクトproviderUserKey、 MembershipCreateStatusステータスアウト:あなただけ呼ぶようなユーザーを作成するには )

メソッドでデータを渡します。暗号化メソッド内でnが発生します。

パスワードを暗号化またはハッシュする必要がない場合は、TSQLが機能する可能性があります。さもなければ、それはいくらかのコーディングです。

+0

ありがとう、私はこれらのパラメータのために何を置くべきですか:PasswordSalt、@ urrentTimeUtc、passwordFormat –

+0

paswordFormatの場合は0です(クリアテキスト、@ urrentTimeUtc - 現在の日付UTC、クリアテキストのパスワードには使用されません)。 – KJRB

+0

私は理解できない唯一の事は、useridとパスワードsaltを偽造する方法です!?設定でメンバーシップを作成できないので、データベースを使って入力する必要があります。それは私のために1つを作ることを望むことで 'NULL'の値は、私は固執しています。 – jlg

0

AFAIK - これを行うための自動化されたウィザードはないので、それをコード化する必要があります。 SQLステートメントを使用してユーザーとプロファイルをインポートできます。しかし、GeneratePasswordとEmailingは、より疎結合にするための別個のプロセスと考えてもよいかもしれません。

関連する問題