صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 23 من 23

الموضوع: أفضل الطرق لبناء تراخيص الأعضاء المعقدة؟

  1. #16
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    ملحوظة:
    - ليس شرطاً أن تكون محددات الصلاحيات الخاصة بالمستخدم ( الموجودة في جدول المستخدمين ) هي نفس المحددات ( الموجودة بجدول المجموعات ).
    فمثلاً:
    1- إيقاف المستخدم وتجميد عضويته --> هذه خاصة بالمستخدم فقط ( إذا تم تفعيلها تم إيقاف هذا المستخدم فقط )، لذلك هذا المحدد يكون داخل مصفوفة تراخيص المستخدم الخاصة.
    وإذا تم وضع هذا المحدد في حقل التراخيص في "جدول المجموعات"، عندها يمكنك إيقاف مجموعة كاملة من المستخدمين وتجميد عضويتهم، إذا فعلت هذا الترخيص على مجموعة مثل الأعضاء مثلاً- فسيتم إيقاف أي مستخدم منتمي لهذه المجموعة-
    إذن يفضل أن يكون هذا المحدد ضمن تراخيص "المستخدم" - أي في حقل تراخيص جدول المستخدمين فقط.

    2- منع المستخدم من دخول لوحة التحكم --> نعلم أن هذا الترخيص خاص بمجموعة "المدراء"، فإذا تم إبطال هذه الصلاحية من هذه المجموعة لن يستطيع أي مستخدم من تلك المجموعة الدخول للوحة التحكم إلا إذا تم تفعيلها... لكن لاحظ أنه من الممكن أن تكون هذه الخاصية موقوفة أو تم إبطالها في جميع المجموعات، وبالرغم من ذلك تجد مستخدم لديه هذا الترخيص حتى ولو كان ينتمي لمجموعة الأعضاء.. فهذا راجع إلا أنه يحمل هذا الترخيص في مجموعة صلاحياته الخاصة ( الموجودة في حقل الصلاحيات في جدول المستخدمين) وأنه تم إعطاءه هذا الترخيص بناء على أن "مجموعة صلاحيات المستخدم الخاصة مقدمة على صلاحيات المجموعة التي ينتمي إليها).
    إذن يفضل أن يكون هذا المحدد ضمن التراخيص في كلا الجدولين ( المستخدمين و المجموعات ).
    - يمكن أن يوجد هذا الترخيص في حقل خاص في جدول المستخدمين يحتوي على القيمة 1 أو 0 ، إذا كانت 0 فإن هذا المستخدم موقوف.- لكن لا يمكن أن نعتمد عليها دائماً الا في بعض التراخيص الخاصة حتى لا يمتلاً جدولك بأعمدة كثيرة.

    نأتي الى النقطة الأخيرة وهي "كيفية التوفيق بين التراخيص من الجدولين":
    - لدينا مصفوفتين:
    المصفوفة الأولى: خاصة بالمستخدم ( تحمل صلاحياته الخاصة ).
    المصفوفوفة الثانية: خاصة بالمجموعة التي ينتمي إليها المستخدم ( تحمل صلاحيات المستخدمين الذين ينتمون لتلك المجموعة ).

    وبما أنه قد تختلف الصلاحيات في كلا المصفوفتين إذن:
    - علينا أن نجمع المصفوفتين معاً في مصفوفة واحدة.
    - أي محدد ( ترخيص ) مكرر - علينا أن نعطي الأولوية للقيمة الموجودة في مصفوفة المستخدم الخاصة.

    ----------
    - نفرض أن هناك شخص ما سجل لديك على الموقع - إذن سيكون له سجل خاص في جدول المستخدمين - مثلاً له ID وله اسم وله بريد إلكتروني وهذا المستخدم ينتمي لمجموعة الأعضاء (GroupID=3) على سبيل المثال..
    إذن هذا المستخدم ينتمي لمجموعة الأعضاء، وهذا المستخدم لابد أن يأخذ تراخيص هذه المجموعة، إذن:
    1- في محددات المستخدم الخاصة علينا إعطائها قيم إفتراضية ( مثل الشخص الذي يسجل في الموقع يتم إعتباره كـ "عضو" أي نجعل القيمة الإفتراضية للـ GroupID الخاصة به هو ID مجموعة الأعضاء ).
    2- مثلاُ: إمكانية دخول لوحة التحكم - تجد هذا المحدد موجود في كلا المصفوفتين ( طبعاً هذا الترخيص تم إبطاله بالنسبة لمجموعة الأعضاء) إذن علينا الإشاره له بقيمة خاصة مثلاً العلامة (؟) في القيمة التي سنضعها في حقل التراخيص الموجودة بحقل المستخدم- التي نعني بها أن هذا الترخيص سيتم أخذه وإيجاد قيمته من المصفوفة الأخرى ( مصفوفة تراخيص المجموعات) - لماذا؟ حتى إذا قمنا بتفعيل هذا الترخيص في مجموعة هذا المستخدم يتم تطبيقه عليه بدون إجراء تعديل على صلاحياته الخاصة.
    3- إذا تم التعديل على صلاحيات المستخدم الخاصة (في جدول المستخدمين) فإن أي علامة (?) لأي ترخيص (التي تعني أن هذه القيمة مرتبطة بالترخيص الموجود ضمن تراخيص المجموعات) ستتم إزالتها وبالتالي فإن أي تغيير في ترخيص هذا المحدد في مجموعات المستخدمين لن يطبق على هذا المستخدم.. مثل ماذكرت سابقاً (لو أن هناك مستخدم ينتمي لمجموعة المدراء التي أعطيناها "ترخيص إمكانية الدخول للوحة التحكم" فإنه متاح له الدخول للوحة التحكم، ماذا لو أبطلنا هذه الصلاحية بالنسبة لمجموعة المدراء؟ بالطبع لن يستطبع الدخول للوحة التحكم إلا إذا كانت هذه الصلاحية من ضمن تراخيصه الخاصة وليست نابعة من المجموعة التي ينتمي إليها).





    __________________
    اللهم وفقني لما تحبه وترضاه...

  2. #17
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    موضوع رائع !

    هناك نقطة لا تقل اهمية عن كيفية بناء واستخدام نظام التصاريح والعمليات المحددة لكل مجموعة ..

    وهي اذا لدينا مجموعة ( مشرف عام ) هل من المفترض ان يكون لديه صلاحيات للعمل على لوحة التحكم الرئيسة الخاصة ( administrator ) ؟ مع تحديد العمليات المتاحة ؟ ( اذا كان نعم .. فيجب ادخال نظام الصلاحيات لنظام ال view لتحديد ما يجب رؤيته واستخدامه او ما لا يجب رؤيته واستخدامه )

    واذا لا ( اكثر امانا وسهولة للاستخدام ان يكون هناك لوحة تحكم خاصة بالمشرفين ) فحينها يجب ان تكون العمليات لديك عبارة عن modules يتم التحكم بها من خلال Controller والذي بدوره يحدد صلاحية عمل الموديول ك administrator او كمشرف ..


    احببت ذكر النقطة للافادة واعتذر عن عدم وفرة الشرح او الكود .. بس انا مش على جهازي والموضوع محتاجله قعدة






  3. #18
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


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





    __________________
    راسلني

  4. #19
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


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





    __________________
    راسلني

  5. #20
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


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

    واعمل جدول المجموعات
    واضيف فيه
    اضافة موضوع
    اضافة تعليق
    تعديل الموضوع
    تعديل التعليق
    مشاهدة الموقع
    دخول لوحة التحكم


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


    هذه طريقتى

    بتوفيق ان شاء الله





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  6. #21
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


    اذن ستكثر الحقول مع كثرة التراخيص يا محمد ..





    التعديل الأخير تم بواسطة وضاء ; 02-08-2010 الساعة 06:45 PM
    __________________
    راسلني

  7. #22
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    وضاء
    إذا كان لديك مجموعة من المواقع مرتبطة بجدول مستخدمين واحد:
    يمكنك تجزئة صلاحيات المستخدم الى (عامة/خاصة):
    الصلاحية العامة: هي التي يتم تطبيقها على كافة المواقع (مثلاً: تجميد نشاط هذا المستخدم على كافة المواقع والأقسام)- هذا محدد صلاحية عامة.
    الصلاحية الخاصة: وهي التي يتم تطبيقها فقط على موقع محدد( مثلاً: تجميد نشاط المستخدم على المنتدى فقط). - هذا محدد صلاحية خاصة.
    لذلك أقترح عليك إما بإنشاء عمودين إضافيين في جدول المستخدمين:
    العمود الأول:خاص بالصلاحيات العامة (سيتم تطبيقها على كافة المواقع).
    العمودالثاني: خاص بالصلاحيات الخاصة بكل موقع على حده(ستجعل لكل موقع مصفوفة صلاحيات مرتبطة به).
    أو يمكنك جمع كلا الصلاحيات العامة والخاصة في حقل واحد من نوع TEXT وبالطريقة التي ذكرتها بالأعلى ( ولا تقلق من كثرة المواقع وبالتالي كثرة محددات التراخيص في الحقل - معظمها ستأخذ قيم رقمية وصغيرة وإدارتها سهلة إنشاء الله وليس كما تتصور- وعدد هذه الأرقام أو العلامات لن تكون كثيرة بل ستكون مختصرة لأبسط درجة - يكفي أننا نرمز بكلمة yes=1 و no=0 ).





    __________________
    اللهم وفقني لما تحبه وترضاه...

  8. #23


    اذن ستكثر الحقول مع كثرة التراخيص يا محمد ..
    إذا كانت المشكلة في كثرة الحقول فيمكنك إستخدام الـ serialize
    و إذا كانت الصلاحيات في الحقول كما قال محمد هلال فعليك جلبها عند تسجيل الدخول و تحويلها إلى جلسة - حقل واحد فيه جميع الصلاحيات عن طريق serialize - كي يسهل التعامل معها .

    أما التأكد من الصلاحية في منطقة معينة في البرمجية مثل :
    هذا المحتوى يظهر للمجموعة 1 و لا يظهر للمجموعة 2 ... فلست أدري طريقة إلى التأكد في عين المكان بوضع شرط يجب تحققه لإكمال العملية أو ظهور المحتوى ...

    بالتوفيق ، طبعا الموضوع مميز .










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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