如何在空成员表中创建自己的密码

本文关键字:创建 自己的 密码 成员 | 更新日期: 2023-09-27 17:50:15

我需要在一个空的[aspnet_Membership]表中创建一个用户。

public string EncodePassword(string pass, string salt)
{       
    byte[] bIn = Encoding.Unicode.GetBytes(pass);
    byte[] bSalt = Convert.FromBase64String(salt);
    byte[] bAll = new byte[bSalt.Length + bIn.Length];
    byte[] bRet = null;
    System.Buffer.BlockCopy(bSalt, 0, bAll, 0, bSalt.Length);
    System.Buffer.BlockCopy(bIn, 0, bAll, bSalt.Length, bIn.Length);
    System.Security.Cryptography.HashAlgorithm s = System.Security.Cryptography.HashAlgorithm.Create(Membership.HashAlgorithmType);
    bRet = s.ComputeHash(bAll);          
    return Convert.ToBase64String(bRet);
}

我正在使用ASP。. NET身份验证登录,但密码错误,无法登录网站。

<membership>
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" 
         type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         connectionStringName="SQLConnectionString"
         enablePasswordRetrieval="false" 
         enablePasswordReset="true" 
         requiresUniqueEmail="false"
         requiresQuestionAndAnswer="false" 
         minRequiredPasswordLength="3" 
         minRequiredNonalphanumericCharacters="0"
         applicationName="eShop"           
         passwordFormat="Hashed" />
  </providers>
</membership>

    password = EncodePassword(password, "asas" + password);    
    string userId = "0";
    SqlCommand c = new SqlCommand();
    c.Connection = con;
    cmd.CommandText = "Select UserId From aspnet_Users Where UserName ='" + username + "'";
    userId = ((int)cmd.ExecuteScalar()).ToString();
    cmd.CommandText = string.Empty;
    c.CommandText = "insert InTo aspnet_Membership ([ApplicationId], [UserId], [Password], [PasswordSalt], [PasswordFormat]) ";
    c.CommandText += "Values (2 , " + userId + ",'" + password + "','" + password + "', 1)";
    c.ExecuteNonQuery();        

和我有一个简单的asp.net登录控件我怎么能做到这一点?

如何在空成员表中创建自己的密码

不要尝试直接更改数据库。如果要以编程方式添加新用户,请使用Membership。CreateUser方法。该方法的文档包含一个示例,其中包含您需要编写的代码。

除了自己编写登录和注册代码,您还可以使用内置的登录控件,如CreateUserWizard控件来添加新向导,ChangePassword控件来更改密码等。