Мне нужно создать пользователя в пустой таблице [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 Как я могу это сделать?