PDA

View Full Version : سوال: چگونه userID و password را در ورود اطلاعات با اطلاعات پایگاه کنترل کنیم ؟



farhad nadimi
دوشنبه 11 بهمن 1389, 09:13 صبح
با سلام به دوستان عزیز

من برنامه ای در asp.net به زبان #C نوشتم که در صفحهای از کاربر رمز عبور و یوزر آیدی می پرسه در این صفحه
میخوام که بعد اینکه کاربر اطلاعات را وارد کرد برنامه جستجویی در پایگاه sql2000 انجام بده اگر مطابق با آن اطلاعات بود کاربر رو به صفحه مورد نظر که همان صفحه اختصاصی کاربره راهنمایی بکنه

مثلا:در همین سایت برنامه نویس هنگامیکه من رمز عبور رو اشتباه میزنم پیغامی میده که باید ثبت نام کنین یعنی اطلاعات شما در پایگاه ما نیست و هنگامیکه مثلا یکی رو اشتباه میزنیم اونم گوشزد میکنه که یکیش اشتباهه و هنگامی که درست میزنیم بعد جستجو در پایگاه ما رو سوق میده به یک صفحه ای که مختص خودمونه

ممنون از راهنمایی شما

mehrdad85
دوشنبه 11 بهمن 1389, 09:29 صبح
سلام ، دوست عزیز کافیه یه جدول داخل db اضافه کنی به نام user و فیلدهای username , password و اطلاعات دیگه ای که فکر میکنی نیازه از کاربرانت داشته باشه اضافه کنی ،حالا صفحه default پروژه را یا login بذار یا اینکه هر صفحه ای که برای مشاهده و دسترسی به اون نیاز به login کردن داره داخل page_load اون صفحه ، session را چک بکن و اگه کاربر مجاز بود اجازه دسترسی بده و اگه غیر مجاز اونو redirect کن به صفحه login یا خطا ،در مورد صفحه login هم اینطوری میتونم بهت توضیح بدم که میتونی یه connection به پایگاهت بزنی و از طریق یه دستور select چک بکنی که با username , password وارد شده اصلا رکوردی داخل جدولت هست یا نه؟ ،اگه بود که همون لحظه یه session میسازی و اونو با فیلد کلیدی جدول مقداردهی میکنی ،هنگام خروج هم میتونی Session را null مقدار بدی هم میتونی close کنی ،امیدوارم تونسته باشم کمکت کنمموفق باشی

farhad nadimi
دوشنبه 11 بهمن 1389, 09:38 صبح
با سلام خدمت شما کمک شایانی کردین ممنون ولی چندیه از کد نویسی دور بودم و از یادم رفته کدها متاسفانه نمونه کدهارو هم تو کامپیوترم ندارم میتونین چندتا نمونه کد برام send کنین تا از اونا استفاده کنم ممنون میشم ؟ چون پایان پروژه درس وبمون هست تو دانشگاه و مهمه برام بازم ممنون

mehrdad85
دوشنبه 11 بهمن 1389, 09:41 صبح
خواهش میکنم، تا کی نیاز داری؟راستش من نمیتونم چیزی را attach کنم یا از امکانات این editor استفاده کنم ، کدهای من هم چندان بهینه نیست اگه خیلی عجله ای نداری که صبر کن تا این مشکل attach حل بشه اون موقع هستم در خدمتتوناگرم کارت خیلی حیاتیه ایمیلتو بده تا واست send کنم موفق باشید

farhad nadimi
دوشنبه 11 بهمن 1389, 09:46 صبح
خواهش میکنم مشکل شما در attach برا چییه میتونم بپرسم؟ و این editor سایته منظورتون؟

mehrdad85
دوشنبه 11 بهمن 1389, 09:47 صبح
بله editor سایت مشکل از سیستم عامل خودمه!!!!!

farhad nadimi
دوشنبه 11 بهمن 1389, 09:53 صبح
من نیاز دارم بله ولی هرموقه براتون مقدوره ویا اگر خدا خواست و مشکله شما حل شد درصورتی که خواستین میتونین تو همین تاپیک برام بفرستین و یا برام پیام خصوصی بزارین در هر صورت من از راهنمایی شما تشکر می کنم حتی برای همین نوشته هاتون در هر صورت اگر کد کوچکی بود که جرقه ای در مغذ من میزد خوب بود ولی مثه اینکه سیستم عامله شما مشکل داره در هر صورت ممنون.

mehrdad85
دوشنبه 11 بهمن 1389, 10:08 صبح
مشکل از browser بود
حل شد
شاید اگه نیاز فوری شما به این راه حل نبود حالا حالا ها دنبال مشکلش نمیرفتم


کدهای من بهینه نیستن اما شاید واسه جرقه زدن بد نباشن!!!!


SqlConnection scon = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ToString());
SqlCommand scom1 = new SqlCommand("SELECT COUNT(*) FROM admin WHERE(username='" + usernameTxt.Text + "' AND password='" + passwordTxt.Text + "')", scon);
scon.Open();
scom1.ExecuteNonQuery();
int num = (int)scom1.ExecuteScalar();
if (num == 0)
{
Response.Write("<script> alert('مجددا تلاش کنید')</script>");
usernameTxt.Text = "";
passwordTxt.Text = "";
}
else
{
SqlCommand scom2 = new SqlCommand("SELECT (adminId) FROM admin WHERE (username='" + usernameTxt.Text + "' AND password='" + passwordTxt.Text + "')", scon);
scom2.ExecuteNonQuery();
int id = (int)scom2.ExecuteScalar();
Session["adminLogin"] = id;
Response.Redirect("~/sample.aspx");این کدی هست که داخل even یک button مینویسی
در ضمن این پایین را فراموش نکنی!!!


using System.Data.SqlClient;
using System.Configuration;