في هذه المقالة ، سنلقي نظرة على كيفية قيام النظام الأساسي AppMaster.io بدون كود بحل مشكلة الوصول إلى البيانات لمستخدمي التطبيق.
يحدث ذلك من خلال تقديم أدوار مثل المستخدمون والمشرفون والمسؤولون والمتطلبات الأخرى. يوفر هذا الحل مزيدًا من المرونة داخل تطبيقك المبني ويتحكم في المعلومات والوصول إلى الوظائف داخل التطبيق المدمج.
ستكون المقالة مفيدة لأي شخص يريد الغوص في وظائف النظام الأساسي AppMaster.io والاطلاع على إمكانياتها من حيث إعدادات الوصول إلى البيانات حسب الأدوار.
Мodule Auth بواسطة AppMaster.io
يتم تمثيل التسجيل في التطبيق المجمع على نظامنا الأساسي من خلال وحدة المصادقة ، مما يسمح لك بإنشاء مجموعات مستخدمين وتحريرها والوصول إلى حقوقهم. تم تثبيت وحدة المصادقة مسبقًا بالفعل في المشروع عند إنشائه.
إعدادات وحدة المصادقة المتوفرة:
مجموعات تسجيل الدخول - قائمة مجموعات المستخدمين التي يمكنها التسجيل ؛
SignUp - يتضمن القدرة على التسجيل في التطبيق ؛
مهلة الجلسة (بالدقائق ) - الوقت الذي تنتهي بعده جلسة المستخدم الحالية إذا كان المستخدم خاملاً (بالدقائق). الافتراضي 60 دقيقة؛
تأخير تسجيل الدخول الفاشل (بالمللي ثانية) - وقت التأخير لاستجابة الخادم في حالة محاولة تسجيل الدخول غير الناجحة (بالمللي ثانية). الافتراضي هو 0 مللي ثانية ؛
تأكيد البريد الإلكتروني مطلوب - خيار يتضمن التحقق عبر البريد الإلكتروني إذا تم تمكينه ؛
مستخدم مسجل نشط - يضبط السمة النشطة على True لكل مستخدم مسجل.
المجموعات - تسمح لك بإنشاء مجموعات مستخدمين وتعديلها.
يستخدم AppMaster.io مصمم نماذج البيانات للعمل مع النماذج.
المستخدم وجلسة المستخدم هما نموذجان تم إنشاؤهما تلقائيًا في مصمم نموذج البيانات. لا يمكن تعديل حقول نموذج البيانات المثبتة مسبقًا أو حذفها ، ولكن يمكن إضافة حقول جديدة.
بالنسبة لهذه النماذج ، يتم أيضًا إنشاء مجموعات عمليات الأعمال (BP) تلقائيًا.
عمليات BP التي تم إنشاؤها تلقائيًا والمرتبطة بجلسات المستخدم والمستخدم
- نموذج المستخدم
DB: حذف المستخدم - حذف مستخدم الكائن من قاعدة البيانات عبر المعرف ؛
DB: تحديث المستخدم - يعيد تعيين جميع حقول كتلة كائن المستخدم التي تم تمريرها إلى المدخلات في قاعدة البيانات وتحديثها وفقًا للقيم المحددة (لتغيير الحقول المحددة فقط ، يتم استخدام DB: Patch User block) ؛
DB: إنشاء مستخدم - يخزن في قاعدة البيانات ويعيد كائن المستخدم المحدد (لبنائه من الحقول المحددة ، استخدم كتلة تكوين المستخدم) ؛
DB: Soft Delete User - يقوم بتحديث السمة DeletedAt على كائن المستخدم ويتركها في قاعدة البيانات ؛
DB: حذف مُجمَّع للمستخدم - يأخذ كمدخلات مصفوفة من المعرفات (المعرفات) لكائنات المستخدم التي سيتم حذفها من قاعدة البيانات ؛
فشل - مجموعة من معرفات المستخدم التي لن يتم حذفها ؛
DB: Patch User - يقوم بتحديث الحقول المحددة لكائن المستخدم في قاعدة البيانات (لإعادة تعيين جميع الحقول ، استخدم قاعدة البيانات: تحديث كتلة المستخدم) ؛
DB: Search User - يعثر على كائن مستخدم واحد أو أكثر في قاعدة البيانات بناءً على الحقول ويعيدها ؛
DB: GetOne User - يعثر على كائن المستخدم في قاعدة البيانات بواسطة معرفه ويعيده ؛
توسيع المستخدم - إرجاع كافة الحقول الخاصة بكائن المستخدم المحدد ؛
Make User - إنشاء كائن مستخدم جديد في الذاكرة من الحقول المحددة وإعادته (لحفظ الكائن الذي تم إنشاؤه في قاعدة البيانات ، استخدم DB: Create User block) ؛
- نموذج جلسة المستخدم
DB: حذف جلسة المستخدم - يزيل كائن جلسة المستخدم من قاعدة البيانات بواسطة المعرف الذي تم تمريره ؛
DB: تحديث جلسة المستخدم - إعادة تعيين جميع حقول كائن جلسة المستخدم التي تم تمريرها إلى كتلة الإدخال في قاعدة البيانات وتحديثها وفقًا للقيم المحددة (لتغيير الحقول المحددة فقط ، استخدم DB: Patch User Session) ؛
DB: إنشاء جلسة مستخدم - يخزن في قاعدة البيانات ويعيد كائن جلسة المستخدم المحدد (لإنشائه من الحقول المحددة ، استخدم كتلة تكوين جلسة المستخدم) ؛
DB: Soft Delete User Session - تحديث السمة DeletedAt لكائن جلسة المستخدم وتركها في قاعدة البيانات ؛
قاعدة بيانات: حذف جلسة المستخدم بالجملة - يقبل كمدخلات مجموعة من معرفات كائنات جلسة المستخدم التي سيتم حذفها من قاعدة البيانات ؛
فشل - المصفوفة تحدد مجموعة المعرفات التي لن تتم إزالتها ؛
DB: Patch User Session - تحديث الحقول المحددة لكائن جلسة المستخدم في قاعدة البيانات (لإعادة تعيين جميع الحقول ، استخدم قاعدة البيانات: تحديث كتلة جلسة المستخدم) ؛
DB: بحث عن جلسة المستخدم - يبحث عن كائن أو أكثر من عناصر جلسة المستخدم في قاعدة البيانات بناءً على الحقول ويعيدها ؛
DB: GetOne User Session - يبحث عن كائن جلسة المستخدم في قاعدة البيانات من خلال معرفه ويعيده ؛
توسيع جلسة المستخدم - تُرجع كافة الحقول الخاصة بكائن جلسة المستخدم المحدد ؛
إنشاء جلسة مستخدم - إنشاء كائن جلسة مستخدم جديد في الذاكرة من الحقول المحددة وإعادته (لحفظ الكائن الذي تم إنشاؤه في قاعدة البيانات ، استخدم DB: Create User Session block) ؛
- وحدة المصادقة
المؤلف: إنشاء رمز المصادقة - يُنشئ رمزًا مميزًا للمصادقة (رمز المصادقة) بطول معين ؛
المؤلف: التسجيل - يسجل مستخدم جديد.
التفويض: التفويض - يتحقق مما إذا كان رمز المصادقة موجودًا في النظام ويعيد المستخدم المرتبط به ؛
المصادقة: المصادقة - يتحقق من تسجيل دخول المستخدم وكلمة المرور ويعيد رمز المصادقة ؛
المصادقة: تسجيل الخروج - يقبل رمز المصادقة وينهي جلسة المستخدم الحالية ؛
Auth: احصل على المستخدم الحالي - إرجاع بيانات المستخدم الحالي ؛
المصادقة: إزالة المستخدم من المجموعة - يزيل مستخدمًا من المجموعة المحددة بواسطة معرفه (المحدد في إعدادات وحدة المصادقة) ؛
المصادقة: إضافة مستخدم إلى المجموعة - إضافة مستخدم إلى مجموعة المستخدمين المحددة بواسطة معرفها (المحدد في إعدادات وحدة المصادقة) ؛
Auth: Hash Password - تحويل سلسلة كلمة المرور إلى تجزئة ؛
المصادقة: استعادة كلمة المرور - يقبل اسم المستخدم وكلمة المرور الجديدة للمستخدم ، وبالتالي إعادة تعيينها ؛
المصادقة: تغيير كلمة المرور - يستبدل كلمة مرور المستخدم الحالية بكلمة مرور جديدة ؛
المؤلف: دقق كلمة المرور - التحقق من كلمة المرور ومطابقة التجزئة ؛
يتم إنشاء نقاط نهاية وحدة المصادقة ونماذج المستخدم وجلسة المستخدم تلقائيًا عند إنشاء المشروع.
وحدة المصادقة
نوع الطلب | نقطة النهاية | BP متصل |
---|---|---|
/تسجيل خروج/ | المؤلف: تسجيل الخروج | |
/ auth / | المؤلف: المصادقة | |
/تسجيل/ | المؤلف: التسجيل | |
/تؤكد/ | المؤلف: التسجيل | |
/ مستخدم / تغيير كلمة المرور | المؤلف: تغيير كلمة المرور | |
/ المستخدم / استعادة كلمة المرور / | المصادقة: استعادة كلمة المرور | |
/ملف تعريفي للمستخدم/ | المؤلف: إذن |
مستخدم
نوع الطلب | نقطة النهاية | BP متصل |
---|---|---|
/معرف المستخدم/ | DB: تحديث المستخدم | |
/معرف المستخدم/ | DB: حذف المستخدم | |
/معرف المستخدم/ | DB: مستخدم GetOne | |
/المستعمل/ | DB: بحث عن المستخدم | |
/معرف المستخدم | DB: مستخدم التصحيح | |
/المستعمل/ | DB: إنشاء مستخدم |
جلسة المستخدم
نوع الطلب | نقطة النهاية | BP متصل |
---|---|---|
/ جلسة المستخدم /: id / | DB: حذف جلسة المستخدم | |
/ جلسة المستخدم /: id / | DB: جلسة مستخدم GetOne | |
/ جلسة المستخدم / | DB: بحث جلسة المستخدم | |
/ جلسة المستخدم /: id / | DB: جلسة مستخدم التصحيح | |
/ جلسة المستخدم / | DB: إنشاء جلسة المستخدم | |
/ جلسة المستخدم /: id / | DB: تحديث جلسة المستخدم |
يتم استخدام رمز المصادقة كرمز مميز للجلسة الحالية للمستخدم المرخص له. في تطبيق الويب BP ، من الممكن التفاعل مع هذا الرمز المميز:
- يقوم Get Auth Token بإرجاع Auth لجلسة المستخدم الحالية المصادق عليها ؛
- يقوم Set Auth Token بالكتابة فوق رمز Auth الخاص بالجلسة الحالية للمستخدم المصرح له ؛
- إزالة رمز المصادقة يحذف Auth Token الجلسة الحالية للمستخدم المصرح له ؛
يوضح المثال كيفية الحصول على المستخدم الحالي.
للقيام بذلك ، انتقل إلى علامة التبويب منطق العمل واسحب المصادقة: الحصول على كتلة المستخدم الحالية.
بعد ذلك ، يتم إنشاء نقطة نهاية لـ BP الذي تم إنشاؤه ، والذي سيتم استخدامه للاتصال بالخادم للحصول على كائن المستخدم الحالي.
حدد مجموعة المستخدمين في قسم نقاط النهاية وأنشئ طريقة طلب GET للعملية التي تم إنشاؤها حديثًا للحصول على المستخدم الحالي.
في تطبيق الويب BP ، قم بتقديم طلب إلى نقطة النهاية التي تم إنشاؤها (طلب الخادم GET / user_current) للحصول على المستخدم الحالي.
المجموعات والأذونات
يتم إنشاء مجموعات المستخدمين في إعدادات وحدة المصادقة. للانتقال إلى إعدادات الوحدة ، تحتاج إلى فتح قسم الوحدات والنقر على بطاقة الوحدة المقابلة.
تحتوي علامة التبويب "المجموعات" على قائمة بكل المجموعات الموجودة. انقر فوق إضافة عنصر جديد لإنشاء مجموعة مستخدمين جديدة. في النافذة المشروطة الجديدة ، يمكنك تخصيص المجموعة وإضافة وصف وأيقونة وأيقونة ولون تسمية وعلامة.
pMaster "data-mce-src =" https://appmaster.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/ ">
لتحرير مجموعات المستخدمين الحالية ، تحتاج أيضًا إلى الانتقال إلى إعدادات وحدة المصادقة. للقيام بذلك ، انتقل إلى قسم الوحدات النمطية وانقر على بطاقة الوحدة المقابلة. بعد ذلك ، في علامة التبويب "المجموعات" ، ستتوفر قائمة بالمجموعات ، ولتعديلها تحتاج إلى النقر فوق رمز الإعدادات. في النافذة المشروطة الجديدة ، يمكنك تخصيص المجموعة وتغيير وصفها ورمزها ورمزها ولون التسمية والعلامة.
لتغيير حقوق قراءة / كتابة الإدخالات في قاعدة البيانات لمجموعات مستخدمين معينة ، يتم استخدام Middleware من وحدة Auth.
في قسم نقاط النهاية ، حدد نقطة النهاية التي تريد تغيير أذونات القراءة / الكتابة الخاصة بها. انقر فوق زر الإعدادات في نقطة النهاية المطلوبة وانتقل إلى علامة التبويب الوسيطة في النافذة المشروطة التي تفتح. بعد ذلك ، بالنقر فوق تحرير الإعدادات في السطر باستخدام Token Auth Middleware ، قم بإعداد حقوق الوصول.
الوصول إلى الصفحات في تطبيق الويب: تحتاج إلى الانتقال إلى تطبيق الويب والنقر فوق الزر "إعدادات" في الصفحة التي تريد تقييد الوصول إليها.
في الحقل عرض للمجموعات ، يجب عليك تحديد قائمة مجموعات المستخدمين التي سيسمح لها بعرض هذه الصفحة. بشكل افتراضي ، يكون الحقل فارغًا ، ويسمح بالوصول لجميع فئات المستخدمين.
خاتمة
يعد الوصول إلى البيانات حسب الأدوار طريقة ملائمة لتنظيم تدفق المعلومات لمجموعات محددة من المستخدمين. مع النظام الأساسي بدون رمز AppMaster.io ، يمكنك اختبار هذه الميزة في نسخة تجريبية.
إذا كنت منبهرًا بالوظيفة ، فاحصل على خطتنا الاحترافية ، والتي تتضمن هذه الميزة ، وكذلك تصدير الملفات الثنائية ، والنسخ الاحتياطية المنتظمة ، ونقل المشروع ، وغير ذلك الكثير. نحن في انتظارك على منصة AppMaster.io لتنفيذ مشاريعك الأكثر جرأة.