如何在不使用CreateUser的情况下在ASP.NET会员表中创建用户?

 2023-02-16    403  

问题描述

我想从现有的论坛中迁移用户和帖子,我在asp.net隶属表上使用createUser.基本上我想维护userids,以便在迁移帖子时,他们继续与正确的用户关联.有没有办法做到这一点,或者我会在使用CreateUser中更好地熄灭,然后找到一种方法来重新将后userID重新分配给正确的新ID?

感谢

如何在不使用CreateUser的情况下在ASP.NET会员表中创建用户?

推荐答案

您可以创建一个用户项目表,您可以用来从用户表加入帖子表.这将使您从ASP.NET隶属提供程序的内部构建中断,并且可以是其他用户信息的扩展点.

这是我用来创建新用户及其配置文件的存储过程和关联功能:

CREATE PROCEDURE [dbo].[CreateUser] 
  @UserName nvarchar(256)
, @ClearTextPassword nvarchar(128)
, @Email nvarchar(256)
, @PostingID uniqueidentifier

AS

BEGIN

DECLARE @ApplicationName nvarchar(256)
DECLARE @PasswordFormat int
DECLARE @UnencodedSalt uniqueidentifier
DECLARE @Password nvarchar(128)
DECLARE @PasswordSalt nvarchar(128)
DECLARE @Now DATETIME
DECLARE @UniqueEmail int

SET @ApplicationName = 'YOUR_APPLICATION_NAME'
SET @PasswordFormat = 1 
SET @UnencodedSalt = NEWID()
SET @PasswordSalt = dbo.base64_encode(@UnencodedSalt)
SET @Password = dbo.base64_encode(HASHBYTES('SHA1', 
   CAST(@UnencodedSalt as varbinary(MAX)) 
   + CAST(@ClearTextPassword AS varbinary(MAX)) )) 
SET @Now = getutcdate()
SET @UniqueEmail = 1


BEGIN TRANSACTION

DECLARE @UserId uniqueidentifier

EXECUTE [dbo].[aspnet_Membership_CreateUser] 
   @ApplicationName
  ,@UserName
  ,@Password
  ,@PasswordSalt
  ,@Email
  ,NULL
  ,NULL
  ,1
  ,@Now
  ,@Now
  ,@UniqueEmail
  ,@PasswordFormat
  ,@UserId OUTPUT

INSERT INTO [dbo].[UserProfile]
(
 [UserID]
,[PostingID]
)
VALUES
(
 @UserId
,@PostingID
)

COMMIT  

CREATE FUNCTION [dbo].[base64_decode] 
(@base64_text VARCHAR(max)) 
RETURNS VARBINARY(max)

WITH SCHEMABINDING, RETURNS NULL ON NULL INPUT

BEGIN

DECLARE @x XML; SET @x = @base64_text 
RETURN @x.value('(/)[1]', 'VARBINARY(max)')

END

CREATE FUNCTION [dbo].[base64_encode] 
(@data VARBINARY(max)) 
RETURNS VARCHAR(max)

WITH SCHEMABINDING, RETURNS NULL ON NULL INPUT

BEGIN

RETURN (

SELECT [text()] = @data 
FOR XML PATH('')

) 
END

其他推荐答案

我会做的是我会在eussip id(电子邮件地址?)之间的用户表和Asp会员表之间创建一个链接表将与UserID(Integer?)相关.然后我会以编程方式为用户数据创建用户和填充成员数据的例程 – 通过.NET代码更容易.

以上所述是小编给大家介绍的如何在不使用CreateUser的情况下在ASP.NET会员表中创建用户?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33942.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。