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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن (/showthread.php?tid=50630)



منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - F.H.M - 14-11-24

الأخوة الأعزاء

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

لدى هذا الكود لتحديد صلاحيات المستخدمين وقد وضعته في Module وهو يأخذ البيانات من جدول بقاعدة البيانات
كود :
Public Sub Userlogin(ByVal TextBox1 As String, ByVal TextBox2 As String)
    Try
     
        con.Open()
     
        da = New OleDbDataAdapter("Select * From User_info where User_Name = '" & TextBox1 & "' and User_Pass = '" & TextBox2 & "'", con)


   
        dt = New DataTable
             da.Fill(dt)
        Dim maxrow As Integer = dt.Rows.Count
        Dim type As String = dt.Rows(0).Item("User_Salahyat")

        If maxrow > 0 Then



            If type = "Admin" Then



                With Main_Form
                                     .Button1.Visible = True
                    .Button2.Visible = True
                    .Button3.Visible = True
                    .Button4.Visible = True
                                        .Button5.Visible = True
                    .Button7.Visible = True
                    .Button8.Visible = True
                                    .Button10.Text = dt.Rows(0).Item("User_Name") '& "::" & type
                    .Button11.Text = type

                End With

                MsgBox("لقد دخلت بصلاحيات " & type, , "الصلاحيات")
End If

وقد أضقت بعض المسمات لتحديد المسئولية مثل ( مبرمج - مسئول - مستعلم )

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

فهل من طريقة

جربت أن أجعل السطر الذي فيه بياناتي للقراءة فقط ولكن يفلح الأمر حيث لم تفعل هذه الخاصية

مع العلم بأن الفورم الخاص بالمستخدمين هو User_Form والفورم بالكود أعلاه هو للفورم الرئيسي Main_Form


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - princelovelorn - 19-11-24

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

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

في بداية الكود أذا كان المستخدم (أسم حسابك او كوده) تخطى العملية كاملة ولا يكمل الكود
أما في حالة وجود أسم مستخدم أخر فلتجعل الكود يستمر بالعمل


فكرة أخرى قم بأضافة عمود في قاعدة البيانات ولتسميه مثلا VIP_STATUS ويكون من نوع BOOLEAN وأمام المستخدم الخاص بك قم بأعطاءة قيمة TRUE
وباقي المستخدمين قيمة FALSE
وعند أستدعاء قائمة المستخدمين قم بوضع شرط ان يكون العمود قيمته FALSE وبذلك تكون قد أخفيت تماما مستخدمك من الظهور في البرنامج


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - F.H.M - 19-11-24

أشكرك أخي الغالي على المساعدة


هل ممكن تضع لي الكودين ولا عليك أمر


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - princelovelorn - 19-11-24

هل يمكنك رفع مثال لمشروعك حتى أقوم بالتعديل عليه
لان التعديل سيكون في أكثر من مكان وفي قاعدة البيانات ايضا اذا قررت استخدام الطريقة الثانية

أما اذا كنت لا تستطيع فسأحاول شرح الأمر لك أكثر


في الحالة الأولى
((( يمكنك وضع استثناء في كود حذف وتعديل المستخدمين
وهو عبارة عن شرط ويكون كالتالي

في بداية الكود أذا كان المستخدم (أسم حسابك او كوده) تخطى العملية كاملة ولا يكمل الكود
أما في حالة وجود أسم مستخدم أخر فلتجعل الكود يستمر بالعمل   )))
لا تحتاج للتعديل في قاعدة البيانات واضافة عمود

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

وفي كود التعديل والحذف على المستخدمين

ستضع الشرط التالي بناء على الدليل الذي تستخدمه لتحديد السجل المراد حذفه او تعديله سواء كان الاسم أو الكود

كود :
DIM PROGRAMERNAM AS STRING = "أسم مستخدمك أو كوده"  

IF USERNAME = PROGRAMERNAME THEN END SUB

ثم تضع كود التعديل أو الحذف الذي لديك

وستعمل معك إن شاء الله تعالى


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - F.H.M - 20-11-24

أشكرك يا الغالي على المساعدة وإسمح لي على التأخير توني طالع من العمل

الصراحة فكرة العمود في قاعدة البيانات أفضل أريد فقط الكود إن أمكن

سأضع العمود وأضع في true و FALSE


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - princelovelorn - 20-11-24

في كود استدعاء البيانات داخل datagridview  وكود التعديل والحذف على المستخدمين
في جملة الأستعلام 
أضف شرط العمود المضاف =false

كمثال


كود :
Dim sql = "select * from  tblname where EmpName ='" & (x) & "'  and vipstatus = false '"

بحيث x = اسم المستخدم او كوده المراد التعديل عليه او حذفه
وبحيث vipstatus = false  او 0  وهو الشرط الموضوع بحيث يخفى مستخدمك الذي سيأخذ قيمة true في العمود وبذلك لن يظهر ولن يتم التعديل عليه


RE: منع أي مستخدم لديه الصلاحيات الكاملة من حذف الأدمن - F.H.M - 20-11-24

الله يعطيك العافية على الفكرة الله لايحرمك الأجر