سلام
وقتی admin میخواد وارد page بشه میخوام تو قسمت loadpage دستوری بنویسم که یه صفحه کوچیک باز بشه و یوزر و پسورد رو بخواد...امکانش هست؟
لطفا راهنماییم کنید،ممنونم
Printable View
سلام
وقتی admin میخواد وارد page بشه میخوام تو قسمت loadpage دستوری بنویسم که یه صفحه کوچیک باز بشه و یوزر و پسورد رو بخواد...امکانش هست؟
لطفا راهنماییم کنید،ممنونم
سلام
اونوقت یوزر چی میشه همون کاربران رو میگم برای اونا نمیخوای چنین کاری کنی؟
خوب توی صفحه میتونی از if استفاده کنی با این شرط که :
If($user)نمایش فرم
Else
نمایش صفحه
اگر برای بار اول صفحه لود بشه و یوزری هم نداشته باشه فرم رو بهتون نشون میده بعد از وارد کردن یوزر و پسورد و چک کردن و موجود بودن یوزر صفحه بعد از else نشون داده میشه .
مابقی رو خودتون میدونید دیگه ....!
---------------------------------------------------
محان
واسه این کار باید از سشن ها استفاده کنی.
تو همین قسمت درباره لوگین کاربران بحث شده یه نگاه به اونجا هم بنداز شاید به دردت بخوره.
نمیدونم حدث میزنم شما Asp.net کار میکنید ( دوستان حتما php یا Net. بودن رو توی عنوان قید کنید )
اول باید تنضیمات authentication رو توی وب کانفیگ انجام بدید و mode اون رو روی forms قرار بدید
اگه فقط یک ادمین ثابت دارید میتونید از credential وب کانفیگ استفاده کنید
به طوری که تو وب کانفیگ این طور تغیرات رو اضافه میکنید
[html]
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="admin.aspx" timeout="30">
<credentials passwordFormat="Clear">
<user name="admin" password="123"/>
</credentials>
</forms>
</authentication>
[/html]
و یا با دیتابیس که برای کارهای چند یوزره مناسبه
بعد یه صفحه به اسم Login.aspx میسازید و فرم لاگین رو طراحی میکنید و توی اون بعد از چک اینکه پسورد و یوزر نیم درسته یا نه ( از دیتابیس یا وب کانفیگ )
اگه از وب کانفیگ استفاده کردید اینطور چک میکنید
اگه با دیتا بیس باشه که باید برای شرطمون سلکت کنیم ببینیم سطری با اون یوزر نیم یا پسورد وجود داره یا نهکد:If FormsAuthentication.Authenticate(login1.UserName, Login1.Password) Then
FormsAuthentication.RedirectFromLoginPage(txtusername.text, Chkrememberme.Checked)
End If
بعد برای صفحه ای که میخوایم توش چک کنیم که کاربر لاگین شده باشه توی Load فرم مینویسیم
کد:If Not User.Identity.IsAuthenticated Then
FormsAuthentication.RedirectToLoginPage()
End If
برای ورود به صفحه مخصوص admin می خوام یوزر و پسورد بذارم،قرار نیست یوزر ها وارد بشن...نقل قول:
اونوقت یوزر چی میشه همون کاربران رو میگم برای اونا نمیخوای چنین کاری کنی؟
جناب ultimator ممنون از توضیحات کامل شما
بله،من با Asp.net و c# کد مینویسم...
طبق گفته شما کد نوشتم فقط یه مسئله ای هست:
این کد رو پشت دکمه login نوشتم..
برای قسمتی که قرمز کردم باید چی بنویسم؟کد:if ((TextBox1.Text == "admin") && (TextBox2.Text == "123"))
{
/////////////
}
else
{
Response.Write("<script>alert('try again')</script>");
}
اگه بنویسم صفحه admin باز بشه دوباره login میاد،باید چی بنویسم؟
همون بالا نوشتمنقل قول:
کد:FormsAuthentication.RedirectFromLoginPage(txtusername.text, Chkrememberme.Checked);
آخه این دستورهارو نمی شناسه یعنی خطا میگیره:
login1 و password1 چی هستن؟کد:if( FormsAuthentication.Authenticate(login1.UserName, Login1.Password))
{
FormsAuthentication.RedirectFromLoginPage(txtusername.text, Chkrememberme.Checked);
}
به همین خاطر کد رو اینطوری نوشتم
کلا این چند خط مشخص می کنه که اگه یوزر و پسورد درست بودن صفحه login بسته بشه و صفحه admin باز بشه؟
بله همین کار رو میکنه به شرطی که به صورتی که بالا گفته شد تو وب کانفیگ هم اون تنظیمات رو انجام بدید
login1 یه کنترل لاگینه
میتونید جاش تکست باکس 1 و 2 رو بذارید همینطور اون پایین txtusername و Chkrememberme که اولی تکست باکس یوزر نیمه دومی هم چک باکس مرا به خاطر بسپار !
اون کدهارو تو وب کانفیگ گذاشتم..
تو pageload صفحه Admin هم این کد رو نوشتم:
به جای دو تا textbox کنترل login گذاشتم ..کد:if ((User.Identity.IsAuthenticated) == false)
{
FormsAuthentication.RedirectToLoginPage();
}
اما بازم error می گیره تو این خط:
اصلا txtusername و Chkrememberme رو نمی شناسه!:41:کد:FormsAuthentication.RedirectFromLoginPage(txtusername.text, Chkrememberme.Checked);
باید چیکار کنم؟
منظور از اینها یه تکست باکس و یه چک باکسه شما اینها رو بسازید !! اینها دیگه کنترلهایی هستند که شما باید بسازید و اسم اونها رو قرار بدید ;)نقل قول: