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

تسجيل الدخول بصلاحيات

بدأه rabiemohamed في 25 ديسمبر 2011 · 7 رد · 1,055 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدى جدول يحتوى على (اسم المستخدم - كلمة السر - الصلاحيات)

لدى 3 مستويات من الصلاحيات

المطلوب

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

#2

السلام عليكم ورحمه الله وبركاته

اخي جرب الكود التالي

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()
2

.:: Wish to become better and better ::.

#3
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

اذا لك يكن تسجيل دخول باسم مستخدم

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#4

اشكر الأخوة الاعزاء على الرد والتعليق

ولى تكملة للسؤال السابق

وهو لو انا عايز اعمل الصلاحيات مع استخدام السيشن اى فى كل صفحة يكتب اسم المستخدم

كتبت الكود التالى

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

ولم اصل منه لشى

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

#5

السلام عليكم ورحمه الله وبركاته

اخي ما في داعي للـ Session لأنه مكلف حيث انه سيأخذ مساحة من الخادم وازيدك انك ستقوم بعملية الفحص في كل صفحة تحتاج صلاحية, لذا عليك استخدام الـ Form Authentication في ملف الـ Web.Config ومن ثم قم بعمل Authorization لمنع الوصول للصفحات من قبل اي مستخدم مجهول الهوية وذلك من خلال التالي

<authorization>
<deny Users="?" />
</authorization>
1

.:: Wish to become better and better ::.

#6

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

اقتباس

وهو لو انا عايز اعمل الصلاحيات مع استخدام السيشن اى فى كل صفحة يكتب اسم المستخدم

اقتباس

ثم ذهبت للصفحة المراد عرض اسم المستخدم بها واضفت ليبل وكتبت الكود التالى

lb.Text = Session("uname").ToString

حدث Error

ولم اصل منه لشى

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

ليش ما تستخدم الـ LoginName Control.

((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))

#7
Rose Muhammed كتب:

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

ليش ما تستخدم الـ LoginName Control.

اشكركم على الرد

بس انا محتاج استخدم السيشن مع الكود السابق

#8
rabiemohamed كتب:

اشكركم على الرد

بس انا محتاج استخدم السيشن مع الكود السابق

ما فى حل ولا ايه يا أخوة

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

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

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

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

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