سؤال

لقد قمت بتمكين 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 وإنشاء الجداول المطلوبة هناك

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