2008-11-05 6 views
5

में Windows प्रमाणीकरण के लिए सही ढंग से काम नहीं कर रहा है। मैं एएसपी.NET में इंट्रानेट एप्लिकेशन विकसित कर रहा हूं जो विंडोज प्रमाणीकरण का उपयोग करता है। मैंने एक एडी क्लास बनाया है जो सक्रिय निर्देशिका डोमेन नियंत्रक से जानकारी प्राप्त करता है। यह वही है जो मैं उपयोगकर्ता समूह की तरह चीजों को प्राप्त करने के लिए उपयोग करता हूं जो वर्तमान में लॉग इन उपयोगकर्ता है। समस्या एएसपी.NET भूमिकाओं में है जिसमें उपयोगकर्ता है। मजाकिया लगता है, लेकिन एडी समूह की सूची जो उपयोगकर्ता पूरी तरह से है उपयोगकर्ता की भूमिकाओं की सूची से अलग है।AspNetWindowsTokenRoleProvider ASP.NET

यहाँ मैं क्या मिलता है:

विज्ञापन समूहों में से एक certian उपयोगकर्ता के लिए सूची

  1. डेवलपर्स
  2. खाता ऑपरेटर्स
  3. डोमेन व्यवस्थापक
  4. IS_IUSRS
  5. व्यवस्थापकों
,210

एक ही उपयोगकर्ता की भूमिकाओं की सूची

  1. PUDDOM \ डोमेन उपयोगकर्ता
  2. हर कोई
  3. BUILTIN \ उपयोगकर्ता
  4. BUILTIN \ Administrators
  5. NT AUTHORITY \ इंटरैक्टिव
  6. NT AUTHORITY \ प्रमाणीकृत उपयोगकर्ता
  7. एनटी प्राधिकरण \ यह संगठन
  8. स्थानीय
  9. PUDDOM \ डोमेन व्यवस्थापक
  10. PUDDOM \ निषेध RODC पासवर्ड प्रतिकृति समूह
  11. PUDDOM \ DnsAdmins

अन्य जानकारी:

  1. मैं अपनी वेबसाइट IIS7 से एकीकृत विंडोज प्रमाणीकरण का उपयोग करें ।
  2. मेरी web.config के एक हिस्से की तरह

लग रहा है इस:

<authentication mode="Windows" /> 
<authorization> 
    <deny users="?" /> 

</authorization> 

<roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true"> 
     <providers> 
      <remove name="AspNetSqlRoleProvider" /> 
     </providers> 
</roleManager> 

मैं कैसे सूची में सामंजस्य करते हैं?

मुझे अपनी भूमिका सूची को मेरी एडी समूह सूची के समान डेटा को प्रतिबिंबित करने की आवश्यकता है क्योंकि मैं अपनी साइट मानचित्र और अन्य सामान में रोल ट्रिमिंग का उपयोग करूंगा।

उत्तर

0

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

+0

कृपया यह निर्दिष्ट करें कि यह कैसे करें। मुझे लगता है कि यह मेरी समस्या है और अगर आप इसे हल करते हैं तो मैं आपको वोट देना चाहता हूं। – Jan

4

आपके परिणाम का एक हिस्सा यह है कि उपयोगकर्ता समूह के कुछ समूह अन्य समूहों के सदस्य हैं। उपयोगकर्ता के समूहों की पूरी सूची में उन सभी समूहों को शामिल किया जाएगा, जो उपयोगकर्ता सीधे हैं और दोनों समूहों में सदस्यता के माध्यम से सदस्य हैं।

सूची में अंतर्निहित समूह भी शामिल होंगे जो सामान्य रूप से मूल व्यवस्थापक उपकरण से डिफ़ॉल्ट रूप से छिपाए जाते हैं।

आपकी सबसे अच्छी शर्त यह है कि एप्लिकेशन उन समूहों की एक मास्टर सूची स्टोर करे, जिन्हें आप अपने एप्लिकेशन को देखना चाहते हैं, या उन समूहों की एक सूची जिन्हें आप अपने एप्लिकेशन को अनदेखा करना चाहते हैं (या तो सूची शामिल करें, या बहिष्कृत सूची)। फिर जब आप किसी विशिष्ट उपयोगकर्ता की भूमिकाओं को वापस खींचते हैं, तो बस इसे कॉन्फ़िगर किए गए बहिष्कृत करें या सूची शामिल करें और अवांछित परिणामों को फ़िल्टर करें।

यदि आप एक आसान तरीका चाहते हैं, तो एक खुला स्रोत AD role provider over at codeproject है जो पहले से ही दोनों को बाहर करने और सूचियों को शामिल करने के लिए समर्थन करता है। इसमें वैकल्पिक कैशिंग जैसी अन्य अच्छी सुविधाएं भी हैं जो वास्तव में आपके एप्लिकेशन को तेज़ी से बढ़ाएंगी। बिल्ड-इन एडी रोल प्रदाता बहुत खराब प्रदर्शन करता है।