لدى جدول يحتوى على (اسم المستخدم - كلمة السر - الصلاحيات)
لدى 3 مستويات من الصلاحيات
المطلوب
عندما يتم تسجيل الدخول يتم ادخال كل عضو فى الصفحة الخاصة به
لدى جدول يحتوى على (اسم المستخدم - كلمة السر - الصلاحيات)
لدى 3 مستويات من الصلاحيات
المطلوب
عندما يتم تسجيل الدخول يتم ادخال كل عضو فى الصفحة الخاصة به
السلام عليكم ورحمه الله وبركاته
اخي جرب الكود التالي
Dim conn As New SqlConnection("ConnectionString")
Dim cmd As New SqlCommand("Select * From Users Where Name=@Username And Password=@Password",conn)
cmd.Parameters.AddWithValue("Name",txtUsername.Text)
cmd.Parameters.AddWithValue("Password",txtPassword.Text)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
If reader.Read() Then
Select Case reader("Role")
Case "SuperAdmin"
Response.Redirect("superAdmin.aspx")
Case "Admin"
Response.Redirect("admin.aspx")
Case "Normal"
Response.Redirect("normal.aspx")
End Select
End If
conn.Close().:: Wish to become better and better ::.
VB Helper كتب:السلام عليكم ورحمه الله وبركاته
اخي جرب الكود التالي
Dim conn As New SqlConnection("ConnectionString") Dim cmd As New SqlCommand("Select * From Users Where Name=@Username And Password=@Password",conn) cmd.Parameters.AddWithValue("Name",txtUsername.Text) cmd.Parameters.AddWithValue("Password",txtPassword.Text) conn.Open() Dim reader As SqlDataReader = cmd.ExecuteReader() If reader.Read() Then Select Case reader("Role") Case "SuperAdmin" Response.Redirect("superAdmin.aspx") Case "Admin" Response.Redirect("admin.aspx") Case "Normal" Response.Redirect("normal.aspx") End Select End If conn.Close()
هذه الطريقة سهلة لكنها ليست آمنة , لأنه لو كتب المستخدم اسم الصفحة مباشرة على URL Location في المتصفح
ستظهر له الصفحة حتى لو لم يكن له أي صلاحية حتى بدون تسجيل دخول .. يفترض أيضا أن يدعم المبرمج الصفحات
ذات الصلاحية المحددة بكود يرفض دخوله وذلك بالتشييك على Session
اذا لك يكن تسجيل دخول باسم مستخدم
اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي
اشكر الأخوة الاعزاء على الرد والتعليق
ولى تكملة للسؤال السابق
وهو لو انا عايز اعمل الصلاحيات مع استخدام السيشن اى فى كل صفحة يكتب اسم المستخدم
كتبت الكود التالى
Dim cmdsel As New SqlCommand("select * from user_data where User_name = @ussar and user_Pass= @PPass ", mycon)
With cmdsel.Parameters
.AddWithValue("@ussar", TextBox1.Text)
.AddWithValue("@PPass", TextBox2.Text)
End With
mycon.Open()
Dim mydr As SqlDataReader
mydr = cmdsel.ExecuteReader
If mydr.Read() Then
Select Case mydr("user_permation")
Case "1"
Response.Redirect("AdminPage.aspx")
Case "2"
Response.Redirect("MmainUser.aspx")
Case "3"
Response.Redirect("dataEnter.aspx")
End Select
Session("uname") = Trim(mydr("realName"))
Else
Label1.Text = "خطأ بأسم المستخدم أو كلمة السر"
End If
End If
End Ifثم ذهبت للصفحة المراد عرض اسم المستخدم بها واضفت ليبل وكتبت الكود التالى
lb.Text = Session("uname").ToString
حدث Error
ولم اصل منه لشى
ارجو توضيح ما هو الخطأ فى الكود السابق
السلام عليكم ورحمه الله وبركاته
اخي ما في داعي للـ Session لأنه مكلف حيث انه سيأخذ مساحة من الخادم وازيدك انك ستقوم بعملية الفحص في كل صفحة تحتاج صلاحية, لذا عليك استخدام الـ Form Authentication في ملف الـ Web.Config ومن ثم قم بعمل Authorization لمنع الوصول للصفحات من قبل اي مستخدم مجهول الهوية وذلك من خلال التالي
<authorization> <deny Users="?" /> </authorization>
.:: Wish to become better and better ::.
السلام عليكم ورحمة الله وبركاته.
اقتباسوهو لو انا عايز اعمل الصلاحيات مع استخدام السيشن اى فى كل صفحة يكتب اسم المستخدم
اقتباسثم ذهبت للصفحة المراد عرض اسم المستخدم بها واضفت ليبل وكتبت الكود التالى
lb.Text = Session("uname").ToString
حدث Error
ولم اصل منه لشى
ارجو توضيح ما هو الخطأ فى الكود السابق
ليش ما تستخدم الـ LoginName Control.
((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))
Rose Muhammed كتب:السلام عليكم ورحمة الله وبركاته.
ليش ما تستخدم الـ LoginName Control.
اشكركم على الرد
بس انا محتاج استخدم السيشن مع الكود السابق
rabiemohamed كتب:اشكركم على الرد
بس انا محتاج استخدم السيشن مع الكود السابق
ما فى حل ولا ايه يا أخوة
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…