الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Session تتأخر افيدونا يا خبراء البرمجة

مغلق
بدأه سامية في 26 سبتمبر 2007 · 6 رد · 684 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

انا اتصلت بقاعدة بيانات SQL SERVES وهي مرفوعة على الأنترنت لدى المستضيف وانشأت جدول عبارة فيه الحقول التالية

userid-username-password-stat

حقل stat عبارة عن رقم وهو ما يعرف بالمستوى للحماية يعني 1 مدير 2 يوزر وهكذا

صممت صفحة login عند النقر عليه يتصل بقاعدة البيانات ويجلب الحقول من الجدول المذكور ويضيف session لحقل stat

sesson.add("stat")

زذلك بعد ادخال اسم المستخدم وكلمة المرور الصحيحة وفي حدث اللود تبع الادمن اتحقق من قيمة session ولكن عند النقر يتأخر في الدخول ثم يقول لايمكن عرض الصفحة

ياليت احد يشرحلي طريقتي هل هي صحيحة وماذا ينقصني حتى تكتمل الحماية للصفحات انا اشتغل بكود VB انا في انتظار مساعتدكم جننتني session آمل من يقوم بالقراءة الرد وتقبلوا وافر التحية طبعاً محاولاتي كلها فشلت وقد بحثت في المنتدى لمدة خمسة أيام ولكن لم تضبط معي كل المحاولات انا في انتظارك .....

#2

Dim cn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings.Item("mycon").ToString())

Dim cmd As New SqlCommand

Dim ds As New Data.DataSet

Dim ro As Data.DataRow

Dim str As String = "SELECT userid, username, password, kk FROM level where username ='" & TextBox1.Text & "'And Password='" & TextBox2.Text & "'"

Dim rd As New SqlDataAdapter(str, cn)

rd.Fill(ds, "level")

cmd.Connection = cn

If ds.Tables("level").Rows.Count > 0 Then

ro = ds.Tables("level").Rows(0)

Session("username") = ro.Item("username")

Response.Redirect("admin.aspx")

Else

'Label2.Text = Session.Add("username", 1)

Label1.Visible = True

Label1.Text = "invalid User Name Or Password,Please Cheack Data and try Again"

Label2.Text = Session("username")

cn = Nothing

End If

امر اللود لصفحة الادمن

If Session("username") = "majed" Then

Response.Redirect("admin.aspx")

Else

Response.Redirect("default.aspx")

End If

End Sub

#3

اين انتم

#4

بسم الله الرحمن الرحيم

وبه نستعين

أختى ساميه أنا فهمت انك وضعتى هذا الكود في صفحة الأدمن فى اللود

اقتباس
If Session("username") = "majed" Then

Response.Redirect("admin.aspx")

Else

Response.Redirect("default.aspx")

End If

End Sub

ما يحدث هنا أنه كلما تأكد من أن السيشن تحمل الإسم majed عن طريق

If Session("username") = "majed" Then

فإنك توجهينه الى صفحة الأدمن مره أخري عن طريق

Response.Redirect("admin.aspx")

وعندما يتوجه اليها يعيد تنفيذ اللود ايفنت وتأكد مره أخري ان الاسم الموجود هو majed ليتوجه مره أخر الى صفحة الادمن ويعيد تحميلها .......

وهكذا يظل في حلقه لا نهائيه

هذه الجمله ليس لها فائده هنا لأنك بالفعل في صفحة الأدمن

Response.Redirect("admin.aspx")

أتمنى أن اكون فهمت الكود الذي كتبتيه صح وقدرت أجد المشكله

بانتظار تعليقك

والسلام عليكم

MCSD

#C

#5

اشكرك اخي على المرور وتقبل تحياتي

ولكن اذا كتبت غير majed يذهب لصفحة default

اما اذا كتبت majed فانه يظل يفتح الصفحة حتى يقول لي لا يمكن عرض الصفحة

انا فهمت عليك ولكن اعتقد المشكلة في جلب البيانات من الجدول وهذة ايضاً تأكدت منها وهي صحية

طيب اين اضع امر استدعاء صفحة الادمن هل يكون في امر login ياليت اللي عندة فكرة كاملة عن تسجيل الدخول يعملها لي او يعطيني مفاتيح الحل حيث ان الجدول عندي هو كالتالي

userid - username - passwored - stat

العضو سوف يسجل الدخول

اللي عملته كالتالي

كما هو موضح في الكود السابق واريد حقل kk اللي هو عبارة عن المستوى للعضو ان يدخلها في session وفي امر اللود للأي صفحة يتأكد من kk اللي هو stat وبناءً عليها يدخله الصفحة او لا ............ انا في انتظار اجاباتكم ومن لديه فكرة او تصحيح على كودي او فكرة كاملة عن طريق تسجيل الدخول ووضعها في session ان لا يتأخر علي بها ولكم مني جزيل الشكر

#6

أختى أقصد أن تلغي هذا السطر تماما لأنه يسبب مشكله في الكود لأانه يصنع لوب لانهائيه بوجوده في البيج لود

Response.Redirect("admin.aspx")

MCSD

#C

#7

طريقتك صحيحه أختى فقط الغي هذا السطر من البيج لود للأدمن

Response.Redirect("admin.aspx")

وهناك طريقه اخري غير استخدام السيشن

مضاف ابليكاشن صغير معه اسكربت للداتابيز لعمل صفحة اللوجن

حاولى تفهميه

ولعمل صفحة الدخول اول حاجه بتغيري web.config بتخليه form authintecation كمان بتخلى الauthorization كالتالي

 <authentication mode="Forms">   <forms loginUrl="login.aspx" name="login"  timeout="1"/>
  </authentication>	
<authorization>	  
<deny users="?"/>	  
<allow users="*"/>	
</authorization>

بتجعلى للصفحه اللى هيدخلها كل نوع من اليوزر في فولدر لوحدها وبيكون في الفولدر ده ملف web.config خاص بيه بتضيفي فيه برده

	  <authorization>
	<deny users="?"/>
	<allow users="*"/>
	  </authorization>

بعد كده بتضيفي في صفحة اللوجن الكود اللى على اساسه هيتنقل الى الصفحه المخصصه لليوزر سواء من النوع الاول او التانى او التالت مثلا أدمن ومستخدم مسجل

بتجيبي البيانات من الداتابيز وبعدين تختبري النوع اليوزر بعدها تكتبي

FormsAuthentication.RedirectFromLoginPage(userName, true);

ثم توجهيه الى الصفحه الخاصه بيه

وفي تسجيل الخروج أيضا

بتكتبي في الزر بتاع الخروج

		FormsAuthentication.SignOut();
		Response.Redirect(Request.FilePath);

طبعا نستخدم stored procedure لضمان السريه

أنا مشرحتش كل حاجه لو عاوزه شرح لأى شيء لم تفهميه سواء قلته هنا او في الابليكاشن قولى وانا أجاوبك

مع العلم أنك لو بتستخدمي visual studio 2005 في كنترول للوجن تؤدي كل هذه الاشياء

مع تحيات أختك D.F.

والسلام عليكم

login.rar

تم تعديل هذه المشاركة بواسطة D.F. في 29 سبتمبر 2007 في 02:00

MCSD

#C

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…