Hanan Fahad2 نشر 18 مايو 2023 أرسل تقرير نشر 18 مايو 2023 ابغا role and permtion pakage تتامل مع express 2 اقتباس
0 عمر قره محمد نشر 18 مايو 2023 أرسل تقرير نشر 18 مايو 2023 يوجد الحزمة accesscontrol ويمكنك استخدامها مثل : const ac = new AccessControl(); ac.grant('user') // define new or modify existing role. also takes an array. .createOwn('video') // equivalent to .createOwn('video', ['*']) .deleteOwn('video') .readAny('video') .grant('admin') // switch to another role without breaking the chain .extend('user') // inherit role capabilities. also takes an array .updateAny('video', ['title']) // explicitly defined attributes .deleteAny('video'); const permission = ac.can('user').createOwn('video'); console.log(permission.granted); // —> true console.log(permission.attributes); // —> ['*'] (all attributes) permission = ac.can('admin').updateAny('video'); console.log(permission.granted); // —> true console.log(permission.attributes); // —> ['title'] يمكنك الوصول إلى الصفحة الخاصة بالحزمة من هنا اقتباس
0 محمد Fahmy نشر 18 مايو 2023 أرسل تقرير نشر 18 مايو 2023 للحصول على حزمة تحكم الوصول والأذونات (Role and Permission Package) في Express ، يمكنك استخدام حزمة كالتالي: 1. يجب عليك تثبيت حزمة npm install acl واستيرادها في ملف التطبيق الخاص بك. 2. يجب إنشاء ملف JSON يحتوي على الأدوار والأذونات التي يمكن لكل دور القيام بها. 3. بمجرد إنشاء ملف JSON ، يمكنك تعريف ACL (Access Control List) وإضافة الأذونات والأدوار إليها. 4. يمكنك الآن استخدام ACL لحماية مسارات التطبيق الخاصة بك وتحديد الأدوار التي يمكنها الوصول إلى كل مسار. 5. يمكنك أيضًا إنشاء middleware خاص بك للتحقق من الأدوار والأذونات المطلوبة للوصول إلى مسار محدد. و هناك العديد من الحزم والمكتبات المتاحة لتحقيق التحكم في الوصول والأذونات في تطبيق Express. هنا بعض الأمثلة: 1. `acl`: هذه الحزمة تستخدم لتحقيق التحكم في الوصول والأذونات. يمكن استخدامها لتحديد الأذونات لكل دور ومنع الوصول إلى المسارات التي لا يحق للمستخدم الوصول إليها. يمكن تثبيتها باستخدام الأمر التالي: npm install acl 2. `express-acl`: هذه الحزمة تستخدم لتحقيق التحكم في الوصول والأذونات أيضًا. يمكن استخدامها لحماية المسارات المختلفة في تطبيق Express. يمكن تثبيتها باستخدام الأمر التالي: npm install express-acl 3. `connect-roles`: هذه الحزمة تستخدم لتحقيق التحكم في الوصول والأذونات أيضًا. يمكن استخدامها لتحديد الأذونات لكل دور ومنع الوصول إلى المسارات التي لا يحق للمستخدم الوصول إليها. يمكن تثبيتها باستخدام الأمر التالي: npm install connect-roles وهناك المزيد من الحزم والمكتبات المتاحة لتحقيق التحكم في الوصول والأذونات في تطبيق Express. يمكنك البحث عن الحزم التي تناسب احتياجات تطبيقك الخاص. اقتباس
0 Mustafa Suleiman نشر 18 مايو 2023 أرسل تقرير نشر 18 مايو 2023 بجانب حزمة accesscontrol يوجد حزم أخرى تؤدي نفس الغرض. 1- حزمة "express-session" أدوار: تمنح المستخدمين أو العملاء دورًا معينًا مثل "مستخدم عادي" أو "مشرف". أذونات: يمكن تعيين الأذونات لكل دور بناءً على احتياجات التطبيق، مثل الوصول إلى صفحات معينة أو القدرة على إجراء إجراءات معينة. 2- حزمة "passport" أدوار: تتيح للمستخدمين تسجيل الدخول باستخدام مقدمي الخدمة المعتمدين مثل Google أو Facebook أو Twitter. أذونات: تعيين الأذونات لكل مستخدم معتمد بناءً على معلوماته والتحقق من صحته. 3- حزمة "jsonwebtoken" أدوار: إنشاء رموز مصادقة (tokens) للمستخدمين الموثوق بهم للوصول إلى موارد محددة. أذونات: تضمين الأذونات داخل الرموز المصادقة لتحديد الصلاحيات والوصول المسموح به. 4- حزمة "acl" أدوار: إنشاء مجموعات أدوار مخصصة وتعيين أذونات محددة لكل دور. أذونات: تعيين الأذونات على المسارات والإجراءات والموارد الأخرى في التطبيق. 5- حزمة "connect-roles" أدوار: إنشاء أدوار مخصصة وتعيينها للمستخدمين لتحديد صلاحياتهم. أذونات: تعيين الأذونات لكل دور مثل الوصول إلى صفحات معينة أو القدرة على إجراء إجراءات معينة. وإليك مثال مفصل على كيفية استخدام حزمة "express-session" لإدارة أدوار المستخدمين: 1- تثبيت حزمة "express-session" باستخدام npm عبر الأمر التالي. npm install express-session 2- استيراد الحزمة وتكوينها. عليك إضافة التالي في ملف التهيئة الخاص بتطبيقك (مثل app.js أو server.js): const session = require('express-session'); app.use(session({ secret: 'secret-key', resave: false, saveUninitialized: true })); هنا، يتم استيراد حزمة "express-session" وتكوينها لاستخدامها في تطبيق Express، وتحديد المفتاح السري (secret-key) الذي يستخدم لتوقيع وتشفير معلومات الجلسة. 3- تعيين دور المستخدم. عند تسجيل الدخول للمستخدم، تستطيعي تعيين دوره بناءً على المعلومات الخاصة به. app.post('/login', (req, res) => { // تحقق من صحة بيانات المستخدم وتنفيذ العمليات اللازمة // عند التحقق من صحة بيانات المستخدم، قم بتعيين دور المستخدم req.session.role = 'مستخدم عادي'; res.send('تم تسجيل الدخول بنجاح'); }); 4- التحقق من دور المستخدم وإعدادات الأذونات. تستطيعي التحقق من دور المستخدم وتعيين الأذونات المناسبة في مسارات التطبيق المناسبة. app.get('/admin', (req, res) => { if (req.session.role === 'مشرف') { // يتمكن المشرف من الوصول إلى هذه الصفحة res.send('مرحبًا بك، مشرف'); } else { // الوصول مرفوض للمستخدمين العاديين res.status(403).send('عذرًا، ليس لديك الصلاحية للوصول إلى هذه الصفحة'); } }); اقتباس
0 Adnane Kadri نشر 19 مايو 2023 أرسل تقرير نشر 19 مايو 2023 بجانب المقترح، أفضل عن نفسي استعمال حزمة express-jwt، وهي واحدة من الحزمة التي توفر وسيلة سهلة لتنفيذ نظام المصادقة والتحقق من الهوية باستخدام JSON Web Tokens (JWT) في تطبيقات Express. لتثبيت حزمة "express-jwt" واستخدامها في مشروعك، يمكنك اتباع الخطوات التالية: قم بتثبيت حزمة "express-jwt" من خلال تشغيل الأمر التالي: npm install express-jwt في ملف التطبيق الخاص بك (مثل app.js أو server.js)، قم بتضمين حزمة "express-jwt" واستخدامها في تطبيق Express الخاص بك، كما هو موضح في المثال التالي: const express = require('express'); const jwt = require('express-jwt'); const jwks = require('jwks-rsa'); const express = require('express'); const jwt = require('express-jwt'); const jwks = require('jwks-rsa'); const app = express(); // تهيئة express-jwt للتحقق من التوكن وفحص الأذونات const checkJwt = jwt({ secret: jwks.expressJwtSecret({ cache: true, rateLimit: true, jwksRequestsPerMinute: 5, jwksUri: 'https://your-auth0-domain/.well-known/jwks.json', // رابط تحميل مفاتيح التوقيع العمومية }), audience: 'your-audience', // الجمهور المستهدف للتوكن issuer: 'https://your-auth0-domain/', // المصدر الذي أصدر التوكن algorithms: ['RS256'], // خوارزمية التوقيع المستخدمة في التوكن }); // تطبيق حزمة express-jwt كوسيط (Middleware) في تطبيق Express app.use(checkJwt); // تعريف طرق التوجيه الخاصة بك // مثال: طريقة GET محمية بالتحقق من التوكن والأذونات app.get('/protected', checkJwt, (req, res) => { // قم بتنفيذ الأعمال المطلوبة للطريق المحمية هنا res.send('Protected route'); }); // استجابة للأخطاء في التوكن أو الوصول المرفوض app.use((err, req, res, next) => { if (err.name === 'UnauthorizedError') { res.status(401).json('Unauthorized'); } }); // بدء تشغيل الخادم app.listen(3000, () => { console.log('Server started on port 3000'); }); تذكر أن تعديل القيم في الكود السابق وفقًا لاحتياجات تطبيقك الفعلية، مثل رابط تحميل مفاتيح التوقيع العمومية والجمهور المستهدف والمصدر الذي أصدر التوكن وما الى ذلك. طبعا فإن هذا مثال بسيط على كيفية استخدام حزمة "express-jwt" لتنفيذ نظام المصادقة والتحقق من الهوية في تطبيق Express الخاص بك. يمكنك استكشاف المزيد من الوظائف والتكوينات المتاحة في وثائق الحزمة لتلبية متطلبات تطبيقك والتوسع في الفكرة بشكل أفضل. اقتباس
السؤال
Hanan Fahad2
ابغا role and permtion pakage
تتامل مع express
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.