سلام چطوری یک لاگین از طریق دیتابیس درست کنیم.ممنون
سلام چطوری یک لاگین از طریق دیتابیس درست کنیم.ممنون
نام کاربری ها به همراه رمز های عبور رو رو تو یک جدول از بانک ذخیره کن.
توی فرم لاگین دوتا تکس باکس و یک دکمه بزار .
حالا توی رویداد کلیک دکمه یک کوئری از بانک بگیر که رکوردهایی با نام کاربری و رمز وارد شده در تکس باکس هارو برگردونه . اگه تعداد رکورد های برگشتی بیشتر از 0 بود پس کاربر معتبر و در غیر اینصورت نامعتبر است.
موفق باشی
دروست من اگر با 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();
سوال داشتی بپرس
موفق باشید
با سلام
اگر میخوای بیش از یک کاربر برای برنامه معرفی کنی حالا شاید دیتابیس خوب باشه!!! ولی حتما از الگوریتمی برای رمزنگاری کردن پسوورد ها استفاده بکن که قبال دیدن برای عموم نباشه.
موفق باشید
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
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);
}
}
}
از همه دوستان خیلی خیلی ممنونم حالا اگه میشه لطف کنید بگید که چطوری میشه بعد از اینکه کاربر لاگین کرد مشخصاتشو نشون بده و بگه که با چه نام کاربری وارد شده و طریقه عوض کردن رمز واسه کاربران چطوریه. تشکر
خب دوست عزیز خمون دستور ویرایش رو بذار برای تغییر رمز عبور و همینطور موقعی که خواستی لوگین کنی شما ابتدا جستجو می کنید که ببینید ایا همچین یوزر نیم و پسووردی وجود داره یا خیر خب همون موقع دیگر اطلاعاتش رو هم بگیر و مثلا با یک پراپریتی به فرم بعدی بفرستش و بگو مثلا الان کی وارد شده
موفق باشی
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
این هم عوض کردن رمز برای کاربران
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 در 16:17 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.