He creado un montón de insertar secuencias de comandos para agregar un nuevo usuario a la aspnet_Membership y aspnet_User tabla. Yo no puedo auth, dice que no puede encontrar mi usuario.

Alguien ha tratado de crear una nueva suscripción de usuario a través de T-SQL que se inserta? Tengo que hacerlo de esta manera porque nuestros crear el código de usuario en C#/ASP.NET no funciona por el momento.

InformationsquelleAutor PositiveGuy | 2012-02-09

3 Comentarios

  1. 2

    Que es más probable debido a que el proveedor de Pertenencia hash de la contraseña (y sales de ella) para guardar y recuperar (el hash es, en comparación, no la unhashed contraseña).

    Supongo que ejecutó el aspnet_Membership_CreateUser procedimiento almacenado. Que va a poner un unhashed contraseña (y lo malo de la sal).

    En otras palabras, usted necesitará utilizar el proveedor de Pertenencia/API para crear, recuperar, y autenticar.

    • NO me acaba de copiar una contraseña existente y la sal de otro usuario de la mina y que se usaba para este nuevo usuario, así como en la instrucción insert
    • «Proveedor de pertenencia/API» sí bueno, eso es lo que no funciona en el código, y no tengo tiempo para arreglar eso ahora…necesidad de crear un usuario para un mantenimiento de emergencia / prueba
    • Bueno, pues acabo de hacer esto. Crear una aplicación que tiene un archivo de configuración con un connectionString que apunta a la base de datos, un proveedor de pertenencia a la sección uso de esa cadena de conexión (y su otro nombre de la aplicación), y roleManager con los mismos detalles.
    • usted puede copia de sal si lo haces de la manera correcta.
  2. 2

    Tratar los siguientes scripts:

    El paso 1. Función Definida por el usuario para codificar la contraseña y la sal

    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 GO

    El paso 2. Procedimiento almacenado para crear usuarios de pertenencia

    CREATE PROCEDURE [dbo].[CreateUser] 
      @UserName nvarchar(256)
    , @ClearTextPassword nvarchar(128)
    , @Email nvarchar(256)
    , @pUserId 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
    DECLARE @UserId uniqueidentifier
    
    SET @ApplicationName = 'ApplicationName' --Find in aspnet_Applications.ApplicationName 
    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
    SET @UserId[email protected]pUserId
    
    BEGIN TRANSACTION
    
    --DECLARE @UserId uniqueidentifier
    
    EXECUTE [dbo].[aspnet_Membership_CreateUser] 
       @ApplicationName
      ,@UserName
      ,@Password
      ,@PasswordSalt
      ,@Email
      ,NULL
      ,NULL
      ,1 -- IsApproved == true
      ,@Now
      ,@Now
      ,@UniqueEmail
      ,@PasswordFormat
      ,@UserId OUTPUT
    
    COMMIT  
    
    END
    
    GO

    El paso 3. Crear el usuario

    DECLARE @UserId uniqueidentifier
    
    SET @UserId = NewId()
    
    EXECUTE [dbo].[CreateUser] 
               'UserName'   [email protected]
              ,'[email protected] '[email protected]
              ,'[email protected] '[email protected]
              ,@UserId --User's uniqueidentifier

    Notas Adicionales:

    1. Comprobar su nombre de la aplicación es correcta en su web.config de pertenencia de un elemento.
    2. Recuerde crear funciones y agregar usuarios a roles.
    • donde puedo conseguir [aspnet_Membership_CreateUser] o mi sql server admin de bloqueo me fuera … ?
    • Mismo problema aquí. No tienen la aspnet_Membership_CreateUser comando si vamos a visual studio configurar el proveedor de pertenencia tablas.

Dejar respuesta

Please enter your comment!
Please enter your name here