PDA

View Full Version : سوال: طریقه ایجاد لاگین با دیتابیس



reza4359
پنج شنبه 25 شهریور 1389, 20:21 عصر
سلام چطوری یک لاگین از طریق دیتابیس درست کنیم.ممنون

mostafa_shaeri_tj
جمعه 26 شهریور 1389, 01:07 صبح
نام کاربری ها به همراه رمز های عبور رو رو تو یک جدول از بانک ذخیره کن.
توی فرم لاگین دوتا تکس باکس و یک دکمه بزار .
حالا توی رویداد کلیک دکمه یک کوئری از بانک بگیر که رکوردهایی با نام کاربری و رمز وارد شده در تکس باکس هارو برگردونه . اگه تعداد رکورد های برگشتی بیشتر از 0 بود پس کاربر معتبر و در غیر اینصورت نامعتبر است.

موفق باشی

qqq2qqq
جمعه 26 شهریور 1389, 01:24 صبح
سلام چطوری یک لاگین از طریق دیتابیس درست کنیم.ممنون


دروست من اگر با linq داری کار می کنی من کد رو در اختیارت می ذارم اگر هم linq نمی خوای بگو تا دوباره بهت کد بدم



UserPass userpass = new UserPass();
var log = from userpassword in database.UserPasses
where userpassword.UserName==txtuser.Text && userpassword.Password==txtpass.Text
select userpassword;

if (log.Count()>0)
{
this.Hide();
FrmMain form1 = new FrmMain();

form1.Show();

}
else
{
MessageBox.Show("نام کاربری صخیخ نمی باشد ");
}
}



البته باید database هم درست کنی



public bankDataContext database=new bankDataContext();

سوال داشتی بپرس
موفق باشید

mmd2009
جمعه 26 شهریور 1389, 03:36 صبح
با سلام

اگر میخوای بیش از یک کاربر برای برنامه معرفی کنی حالا شاید دیتابیس خوب باشه!!! ولی حتما از الگوریتمی برای رمزنگاری کردن پسوورد ها استفاده بکن که قبال دیدن برای عموم نباشه.

موفق باشید

arefba
جمعه 26 شهریور 1389, 10:16 صبح
qqq2qqq فکر کنم با LINQ گفتن

یه جور دیگه هم ما بگیم البته با کلاسی برای رمز کردن


SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandType = CommandType.Text;
objCommand.CommandText = "select username,password from RegisterManager where (username=@username AND password=@password)";
objCommand.Parameters.Add("@username ", SqlDbType.NChar).Value = txtUserName.Text;
objCommand.Parameters.Add("@password ", SqlDbType.NChar).Value = pwProtect;
SqlDataReader objDataReader;
objConnection.Open();
objDataReader = objCommand.ExecuteReader();
if (objDataReader.HasRows == true)
{
MessageBox.Show("! " + "ورود شما موفقیت آمیز بود", "مدیر عزیز خوش آمدید", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
objConnection.Close();
this.Enabled = false;
SaveUserPass(pwProtect);
Form1 fr1 = new Form1();
fr1.ShowDialog();
this.Close();



و اینم کلاسی برای رمز کردن که من تو برنامه بالا ازش استفاده کردم

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace Library
{
class PwSecur
{
public String encryptString(string strToEncrypt)
{
UTF8Encoding ue = new UTF8Encoding();
byte[] bytes = ue.GetBytes(strToEncrypt);

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] hashBytes = md5.ComputeHash(bytes);

// Bytes to string
return System.Text.RegularExpressions.Regex.Replace
(BitConverter.ToString(hashBytes), "-", "").ToLower();
}

public static String Path
{
get
{
string path = Environment.GetFolderPath(Environment.SpecialFolde r.System);
return path + "xlkj.tABCxABCt";
}
}
public static void CorrectFileExtention()
{
string sourceFile = Path;
string newExtension = "txt";
File.Move(sourceFile, System.IO.Path.ChangeExtension(sourceFile, newExtension));
}

public static String ReadUSerPass()
{
StreamReader SR;
String S;
SR = File.OpenText(Path);
S = SR.ReadLine();
/* while (S != null)
{
S = SR.ReadLine();
}*/
SR.Close();
return S ;
}

public static void DeleteFile()
{
File.Delete(Path);
}

}
}

reza4359
دوشنبه 29 شهریور 1389, 22:27 عصر
از همه دوستان خیلی خیلی ممنونم حالا اگه میشه لطف کنید بگید که چطوری میشه بعد از اینکه کاربر لاگین کرد مشخصاتشو نشون بده و بگه که با چه نام کاربری وارد شده و طریقه عوض کردن رمز واسه کاربران چطوریه. تشکر

mmd2009
دوشنبه 29 شهریور 1389, 22:38 عصر
خب دوست عزیز خمون دستور ویرایش رو بذار برای تغییر رمز عبور و همینطور موقعی که خواستی لوگین کنی شما ابتدا جستجو می کنید که ببینید ایا همچین یوزر نیم و پسووردی وجود داره یا خیر خب همون موقع دیگر اطلاعاتش رو هم بگیر و مثلا با یک پراپریتی به فرم بعدی بفرستش و بگو مثلا الان کی وارد شده

موفق باشی

qqq2qqq
سه شنبه 30 شهریور 1389, 13:00 عصر
از همه دوستان خیلی خیلی ممنونم حالا اگه میشه لطف کنید بگید که چطوری میشه بعد از اینکه کاربر لاگین کرد مشخصاتشو نشون بده و بگه که با چه نام کاربری وارد شده و طریقه عوض کردن رمز واسه کاربران چطوریه. تشکر
این هم عوض کردن رمز برای کاربران



try
{
Classes.class1 class1 = new Classes.class1();
string a = class1.str;
var pass = (from k in database.UserPasses
where k.UserName == a
select k).Single();
if (pass.Password == txtPassOld.Text)
{
pass.Password = txtPassNew1.Text;
database.SubmitChanges();

}
}
catch
{
MessageBox.Show(" ");
}

موفق باشید

reza4359
چهارشنبه 31 شهریور 1389, 18:16 عصر
دروست من اگر با linq داری کار می کنی من کد رو در اختیارت می ذارم اگر هم linq نمی خوای بگو تا دوباره بهت کد بدم



UserPass userpass = newUserPass();
var log = from userpassword in database.UserPasses
where userpassword.UserName==txtuser.Text && userpassword.Password==txtpass.Text
select userpassword;

if (log.Count()>0)
{
this.Hide();
FrmMain form1 = newFrmMain();

form1.Show();

}
else
{
MessageBox.Show("نام کاربری صخیخ نمی باشد ");
}
}

البته باید database هم درست کنی



publicbankDataContext database=newbankDataContext();
سوال داشتی بپرس
موفق باشید
اگه میشه بدون استفاده از linq همتوضیح بدید که داخل رویداد click butoon چه کدی بنویسم
--------------------

دروست من اگر با linq داری کار می کنی من کد رو در اختیارت می ذارم اگر هم linq نمی خوای بگو تا دوباره بهت کد بدم



UserPass userpass = newUserPass();
var log = from userpassword in database.UserPasses
where userpassword.UserName==txtuser.Text && userpassword.Password==txtpass.Text
select userpassword;

if (log.Count()>0)
{
this.Hide();
FrmMain form1 = newFrmMain();

form1.Show();

}
else
{
MessageBox.Show("نام کاربری صخیخ نمی باشد ");
}
}

البته باید database هم درست کنی



publicbankDataContext database=newbankDataContext();
سوال داشتی بپرس
موفق باشید
اگه میشه بدون استفاده از linq هم توضیح بدید که داخل رویداد click butoon چه کدی بنویسم