PDA

View Full Version : loginبا دوسطح کاربری



salmah
پنج شنبه 28 فروردین 1393, 09:00 صبح
من دوتا جدول دارم که در هر دو passwordرا باsha256 رمز کردم.
حالا برای ورود اعضا می خوام ابتدا جدول adminرا بررسی کنم بعد اگر داخل این جدول نبود جدولuserرا بررسی کنم.

قبلا login با دو سطح کاربری را با استفاده از dataset و queryگرفتن انجام دادم ولی چون الان پسورداینکریپت شده نمی دونم باید چه کار کنم

meysam99
پنج شنبه 28 فروردین 1393, 10:08 صبح
اول پسورد کاربر رو بگیر بعد sha256 کن با اون که درجدول هست مقایسه کن .
به نظرم به جای داشتن دو تا جدول یک جدول داشته باش و یک جدول برای نقش ها این اصولی تر هست

salmah
پنج شنبه 28 فروردین 1393, 10:12 صبح
اول پسورد کاربر رو بگیر بعد sha256 کن با اون که درجدول هست مقایسه کن .

چه جور باید مقایسه کنم

meysam99
پنج شنبه 28 فروردین 1393, 10:39 صبح
مگه پسوردی که در جدول ذخیره می کنی هش نکرده ای؟
خوب پسوردی رو هم که کاربر داخل تکست باکس وارد میکنه رو هم هش کن.
حالا دو تا پسورد هش شده داری که اگه یکی باشد یعنی پسورد درست وارده شده و می تواند لاگین شود

salmah
پنج شنبه 28 فروردین 1393, 12:22 عصر
مگه پسوردی که در جدول ذخیره می کنی هش نکرده ای؟
خوب پسوردی رو هم که کاربر داخل تکست باکس وارد میکنه رو هم هش کن.
حالا دو تا پسورد هش شده داری که اگه یکی باشد یعنی پسورد درست وارده شده و می تواند لاگین شود

باتشکر.پسورد داخل تکست باکس را هش کرده بودم.امشکل من تو مقایسه هست

salmah
پنج شنبه 28 فروردین 1393, 18:11 عصر
واین کدرا هم نوشتم اما مشکل هنوز ادامه داره




string strConnection = WebConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ToString();
string strCmd = "SELECT password, username FROM tuser WHERE password=@password";
SqlConnection con = new SqlConnection(strConnection);
SqlCommand cmd = new SqlCommand(strCmd, con);
SqlDataReader reader;
cmd.Parameters.AddWithValue("@password", TextBox1.Text);
try
{
con.Open();
reader = cmd.ExecuteReader();
if (reader.Read())
{
string str = TextBox2.Text;
byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(str);
SHA256Managed sha = new SHA256Managed();
byte[] hashValue = sha.ComputeHash(data);
string strp = "";
foreach (byte strb in hashValue)
{
strp += strb.ToString();
}
if (reader["username"].ToString() == strp)
{
Response.Redirect("users.aspx");

}
else
{
Label1.Text = "رمز عبور اشتباه است";
}
}
else
{
Label1.Text = "نام کاربری اشتباه است";
}
}

finally
{
con.Close();
}

salmah
پنج شنبه 28 فروردین 1393, 20:23 عصر
دوستان کسی نظری نداره.
یعنی شما صفحه login ندارید.....