سلام به تمامی دوستان
من با استفاده از ابزار login ویژوال استودیو و در قسمت web.config یوزرها رو authenticate کردم ولی میخوام یوزر و پسورد رو از دیتا بیس بخونه چه کدی باید بنویسم؟
خیلی فوریه کمک کنید.
ممنون.
سلام به تمامی دوستان
من با استفاده از ابزار login ویژوال استودیو و در قسمت web.config یوزرها رو authenticate کردم ولی میخوام یوزر و پسورد رو از دیتا بیس بخونه چه کدی باید بنویسم؟
خیلی فوریه کمک کنید.
ممنون.
من از کنترل login استفاده نمیکنم خودم دوتا تکت باکس ، یه دکمه و یه چکباکس میزارم به صورت زیر عمل میکنم:
توی button_click اینو مینویسم:
protected void btnLOGIN_Click(object sender, EventArgs e)
{
lblmessage.Text = "";
DBClass dbcls = new DBClass();
if (dbcls.CheckUser(txtUSRN.Text.Trim(), txtPASSW.Text.Trim()))
{
FormsAuthentication.RedirectFromLoginPage(txtUSRN. Text.Trim(), chboxRem.Checked);
}
else
{
lblmessage.Text = "نام کاربری یا رمزعبور اشتباه است";
}
}
توی وب کانفیگ هم اینو ست میکنم:
<system.web>
.
.
.
<authentication mode="Forms">
<forms name=".AuthenticateMySite" loginUrl="login.aspx" defaultUrl="Default.aspx" timeout="43200" slidingExpiration="true"></forms>
</authentication>
.
.
</system.web>
توی صفحاتی هم که نیاز به مجوز لاگین هست در page_load اون صفحه یا page_load مستر پیج اون کد زیر رو مینویسم تا بدون لاگین اجازه ورود نده:
bool checkLogin = HttpContext.Current.User.Identity.IsAuthenticated;
if (checkLogin)
{
string UserName = HttpContext.Current.User.Identity.Name;
DBClass dbcls = new DBClass();
string FullName = dbcls.GetUserFullName(UserName);
HLUser.Text = "کاربر فعال : " + FullName;
}
else
{
FormsAuthentication.SignOut();
Response.Redirect(FormsAuthentication.LoginUrl);
}
بازم تحقیق کن شاید روشی که من استفاده میکنم اشتباه باشه...
موفق باشید
آخرین ویرایش به وسیله kablayi : پنج شنبه 17 بهمن 1392 در 12:12 عصر
CheckUser چیه تو کد بالا؟
میشه کد کلاسشو برام بزارین؟
ممنون میشم.
private string ConnectionString()
{
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
return constr;
}
public bool CheckUser(string UserName, string PassWord)
{
int count = 0;
SqlConnection cn = new SqlConnection(ConnectionString());
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT COUNT(*) FROM UserPass WHERE (UserName=@UN)AND(Password=@psw)";
cmd.Parameters.AddWithValue("@UN", UserName);
cmd.Parameters.AddWithValue("@psw", PassWord);
cmd.Connection = cn;
cn.Open();
count = Convert.ToInt32(cmd.ExecuteScalar());
cn.Close();
if (count > 0)
return true;
else
return false;
}
GetUserFullName رو نذاشتین
اینا دیگه دستورات ساده ایه که خوندن اطلاعات از دیتابیس هست...
public string GetUserFullName(string UserName)
{
string FName = "";
SqlConnection cn = new SqlConnection(ConnectionString());
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT Name, Family FROM UserPass WHERE (UserName = @UN)";
cmd.Parameters.AddWithValue("@UN", UserName);
cmd.Connection = cn;
SqlDataReader dr;
cn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
FName = dr[0].ToString() + " " + dr[1].ToString();
}
dr.Close();
cn.Close();
return FName;
}
به کدهایی که نوشتم دقت کنید...نوشته شده توسط manit44
به کدهای قسمت وب کانفیگ بیشتر دقت کنید متوجه میشید
دو تا پیج توی اون تعریف شده یه loginURL هست که مشخصه برای چیه ویه defaultUrl که در صورت معتبر بودن user و pass به اون هدایت میشه...