أين يتم تخزين أدواري؟
-
21-09-2019 - |
سؤال
لقد قمت بتمكين Roles
في تطبيق الويب الخاص بي ASP.NET ، لكنني مرتبك قليلاً فيما يتعلق بالمكان الذي يتم فيه تخزينهم. في مشروعي القديم ، سيظهر كل دور في جدول أدوار ASP.NET ، ويمكنني رؤيته. ومع ذلك ، في مشروعي الجديد ، لا يمكنني رؤية أي أدوار في جدول قاعدة البيانات. الشيء الغريب هو أنه لا يزال بإمكاني استخدامها (والأدوار الافتراضية/API) وكل شيء يعمل بشكل جيد. أي أفكار لماذا لا يظهرون جدول قاعدة البيانات نفسه ، وأين يتم تخزينها بالفعل؟
لي web.config
يحتوي الملف على هذا:
<roleManager enabled="true" />
باستخدام أداة تكوين ASP.NET ، فإن مزود الدور الافتراضي الخاص بي هو AspNetSqlRoleProvider
.
شكرًاتحديثأضفت هذا بشكل صريح في الويب الخاص بي. confg
<roleManager enabled="true" >
<providers>
<clear/>
<add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
</providers>
</roleManager>
المحلول
بشكل افتراضي ، يستخدم قاعدة البيانات المحلية ما لم يشير مزود الدور إلى قاعدة بيانات باستخدام اتصال قاعدة بيانات مختلفة.
إذا قمت بإعداد الجداول في قاعدة البيانات المخصصة الخاصة بك وليس ملف ASPNETDB.MDF ، فسيتعين عليك إعداد تعريف مخصص مخصص يشير إلى SQLROLEProvider ، وتقديم مرجع سلسلة اتصال مخصص إلى مكان قاعدة البيانات.
HTH.
نصائح أخرى
في قاعدة بيانات عضوية ASP.NET الخاصة بك ، يوجد جدولين: يحتوي ASPNET_ROLES على الأدوار ويحتوي ASPNET_USERSINROLES على ارتباط المستخدمين بأدوار.
ستقوم بإنشاء قاعدة بيانات خاصة بها في مجلد App_Data وإنشاء الجداول المطلوبة هناك