9

वास्तव में बहुत ही सरल सवाल:एएसपी.नेट सदस्यता - उपयोगकर्ता का उपयोग करने के लिए कौन सा रोलप्रोवाइडर। आईएसइनरोल() सक्रिय डायरेक्टरी समूह की जांच करता है?

मेरे पास वर्तमान में आईआईएस अज्ञात पहुंच अक्षम है, उपयोगकर्ता अपने विंडोज लॉगिन का उपयोग कर स्वचालित रूप से लॉग इन हैं। हालांकि उपयोगकर्ता को कॉल करना IIInRole ("भूमिका का नाम") झूठा देता है। मैंने User.Identity.Name() और "रोल नाम" को दोबारा जांच लिया है और इसे सच करना चाहिए।

अद्यतन
मैं User.IsInRole बुला गया था ("भूमिका नाम") जहाँ मैं User.IsInRole बुलाना चाहिए ("डोमेन \ भूमिका नाम:

मैं वर्तमान में मेरे web.config में इस राशि ")

हालांकि मुझे अभी भी यह जानना है कि < सदस्यता > प्रविष्टि की आवश्यकता है?

मैं क्या बदलना चाहिए? (और < सदस्यता > प्रवेश के समय सभी आवश्यक है?)

<authentication mode="Windows"> 
     <forms 
     name=".ADAuthCookie" 
     timeout="10" /> 
    </authentication> 


<membership defaultProvider="ADMembershipProvider"> 
    <providers> 
    <clear/> 
     <add 
     name="ADMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionStringName="ADConnectionString" 
     connectionUsername="XXX\specialAdUser" 
     connectionPassword="xx" 
     /> 
    </providers> 
</membership> 

<roleManager enabled="true" defaultProvider="WindowsProvider"> 
    <providers> 
    <clear /> 
     <add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider" /> 
    </providers> 
</roleManager> 

उत्तर

4

आप का उपयोग करते हैं Windows प्रमाणीकरण IsInRole कोई अतिरिक्त विन्यास के साथ काम करेंगे, जब तक आप डोमेन, अर्थात डोमेन \ groupName साथ भूमिका उपसर्ग के लिए याद के रूप में।

इसके अतिरिक्त आप अपनी भूमिका (पन इरादा) कर सकते हैं और इसके लिए विंडोज एथ का उपयोग कर सकते हैं, उदाहरण के लिए, एक एसक्यूएल रोल प्रदाता, जहां आप नहीं चाहते हैं कि आपका एडी आपके आवेदन के लिए कस्टम भूमिकाओं से भरा हुआ हो।

तो नहीं, आपको प्रदाता कॉन्फ़िगरेशन की आवश्यकता नहीं है।

1

यहाँ सदस्यता प्रदाता मदद करने के लिए नहीं जा रहा है। ActiveDirectoryMembershipProvider प्रपत्र प्रमाणीकरण के साथ सबसे अच्छा (केवल?) फिट लगता है।

0

सुंदर यकीन है कि केवल एक चीज आप roleManager समूह

+0

क्या पहले से ही एक्टिवाइड डायरेक्टरी में भूमिकाएं स्वचालित रूप से जांच नहीं की गई हैं? – Ropstah

0
बॉक्स से बाहर

(आधार प्रमाणीकरण मोड = 'विंडोज़' सेटिंग के साथ) में वहाँ की जरूरत है, वहाँ सीधे सक्रिय निर्देशिका का उपयोग करने के लिए कोई भूमिका प्रदाता है। आप ASP.NET सदस्यता- और भूमिका-प्रणाली में भूमिका तालिका का उपयोग कर सकते हैं, या आप प्राधिकरण प्रबंधक (AzMan) का उपयोग कर सकते हैं।

जो एक भूमिका प्रदाता जो सक्रिय निर्देशिका के खिलाफ काम करता है के कार्यान्वयन से पता चलता CodeProject पर एक लेख नहीं है - पूर्ण स्रोत कोड के साथ। शायद यह मदद करता है?

मार्क

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

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