2011-02-12 16 views
18

जब ASP.NET पृष्ठ, मॉड्यूल या हैंडलर के अंदर HttpContext मौजूद है, तो मैं वर्तमान RoleProvider उदाहरण का संदर्भ कैसे प्राप्त करूं?संदर्भ वर्तमान रोलप्रोवाइडर उदाहरण?

यह प्रदाता प्राधिकरण के लिए उपयोग किया जाता है जब IPrincipal.IsInRole(..) विधि कहा जाता है। डिफ़ॉल्ट रूप से, या कॉन्फ़िगरेशन से, मेरा प्रदाता एक त्रुटि के द्वारा SqlRoleProvider उदाहरण प्रतीत होता है जब मैं ऐप चला रहा हूं।

मैं रनटाइम पर प्रदाता के प्रकार का निरीक्षण करना चाहता हूं ताकि वास्तव में इसका उपयोग किया जा सके।

उत्तर

29

static Roles class पर उस प्रदाता संपत्ति है जिसका उपयोग आप वर्तमान प्रदाता को संदर्भित करने के लिए कर सकते हैं।

Roles.Provider 

और यदि आप कोई कस्टम RoleProvider उपयोग कर रहे हैं, तो आप इसे कस्टम कार्यक्षमता तक पहुँचने के लिए डाली जा सकता है।

((MyCustomRoleProvider)Roles.Provider).AllYourRoleAreBelongToUs(); 
+0

धन्यवाद! उस जानकारी ने मुझे यह निर्धारित करने में मदद की कि मेरी भूमिका प्रदाता वास्तव में अपेक्षित 'System.Web.Security.SqlRoleProvider' के बजाय 'WebMatrix.WebData.SimpleRoleProvider' है। वाह! चीयर्स। –

+4

सिर्फ "आपके सभी बेस ..." संदर्भ के लिए +1। –

संबंधित मुद्दे