سؤال

لدي بعض الأسئلة:

كيفية إنشاء تطبيق ويب قائم على الدور؟كما هو الحال في مواقع المنتديات، هناك العديد من أنواع المستخدمين، المشرف، المشرف، الخ...هل يتم تخزين أدوار أنواع المستخدمين هذه في قاعدة البيانات أو web.config؟وعندما يقوم مستخدم بتسجيل الدخول إلى موقعنا، كيف يمكن التحكم في أدوار المستخدمين؟باختصار أريد أن أتعلم المزيد عن الترخيص والمصادقة.

شكرًا..

هل كانت مفيدة؟

المحلول

وMavera:

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

TblUsers:
-----------------------------------------------------------------
| UserID (PK) | UserName | HashedPassword | PermissionLevel (FK)|
|---------------------------------------------------------------|
|     1       | BobTables| adfafs2312     |         2           |
-----------------------------------------------------------------

TblPermissions
-------------------------------------
|  PermissionID (PK) | Description   |
--------------------------------------
|         1          |     User      |
|         2          |   SuperUser   |
|         3          |     Admin     |
--------------------------------------

ويمكنك إضافة الجدول الذي يحتوي 3RD علاقة لكثير احدة بين TblPermissions أن يعرض قدراته الفعلية قد يسمح للمستخدم القيام به.

وسوف الاستعلام عن مستخدم تكون بسيطة مثل:

SELECT TblUser.Username, TblPermissions.Description 
    FROM TblUsers, TblPermissions 
    WHERE TblUser.UserID = @UserID 
    AND TblUser.PermissionLevel = TblPermission.PermissionID;

وإنشاء فئة مخصصة لتغليف تلك المعلومات، وتخزينها في جلسة ASP.NET عند تسجيل الدخول في.

نصائح أخرى

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

في تلك الحالات، لقد خلق بلدي نظام المصادقة الخاصة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top