如何批量生成用户名,密码和简单的配置文件信息以加载到ASPNETDB?

时间:2011-07-18 12:43:00

标签: asp.net tsql aspnetdb

我有一个accountnumber的现有数据库。我想创建一个脚本,将该列作为输入,并为每个accountnumber用户名/密码/配置文件条目生成。

个人资料条目将是原始帐号。

因此,假设我使用accountnumber作为user / pass ...

这是我逻辑上想做的事情

insert into ASPNETDB Select accountnumber, accountnumber as UserName, accountnumber as Password, accountnumber as profileentry from table1

我知道创建1个用户需要使用一些存储过程,这就是为什么我不知道如何做到这一点。

2 个答案:

答案 0 :(得分:1)

我可以从asp.net c#的角度回复这个问题。创建一个aspx页面,在代码隐藏中,使用循环读取每个记录(accountnumber)并使用CreateUser()成员类方法在循环内创建用户。

类似的东西:

loop start{

      // read account number from existing table
      CreateUser(acccountnumber,password);

}

要了解使用CreateUser方法以编程方式创建用户,请检查:

Programmatically creating a user

答案 1 :(得分:0)

在这里,我只是重新阅读MS文档,然后就去了。这将设置用户帐户并为每条记录生成密钥配置文件值。

declare @PPID NVARCHAR(20)
declare @salt NVARCHAR(500)
declare @stupid NVARCHAR(500)
declare @UserId uniqueidentifier
declare cur CURSOR LOCAL for 
select PPID from webData..table where PPID is not null

open cur 

fetch next from cur into @PPID

while @@FETCH_STATUS = 0 BEGIN 
set @salt = @PPID + @PPID 
set @stupid = 'TangiblePropertyId:S: 0:'  + CONVERT(VARCHAR(10),LEN(@PPID))
    --execute your sproc on each row 
   exec [aspnetdb].[dbo].[aspnet_Membership_CreateUser] '/',
  @PPID
  ,@PPID
  ,@PPID
  ,@salt
  ,null
  ,null
  ,1
  ,'01/01/2011'
  ,DEFAULT
  ,DEFAULT
  ,DEFAULT
  ,@UserID

    exec dbo.aspnet_UsersInRoles_AddUsersToRoles '/',@PPID,'TaxPayer','01/01/2011'
EXECUTE  [aspnetdb].[dbo].[aspnet_Profile_SetProperties]  '/' , @stupid ,@PPID  ,''  ,@PPID  ,false  ,'01/01/2011'

PRINT @stupid

    fetch next from cur into @PPID 
END 

close cur 
deallocate cur