1

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

配置文件条目将是原始帐号。

因此,例如,假设我也将帐号用于用户/通行证......

这就是我逻辑上想做的事情

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

我知道创建 1 个用户需要使用一些存储过程,这就是为什么我不确定如何执行此操作。

4

2 回答 2

1

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

就像是:

loop start{

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

}

要了解使用 CreateUser 方法以编程方式创建用户的信息,请检查以下内容:

以编程方式创建用户

于 2011-07-18T13:13:45.847 回答
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 
于 2011-07-20T12:52:03.363 回答