ASP.NET कोड का पता लगाने के लिए कि क्या आईआईएस "Windows प्रमाणीकरण" सक्षम किया गया है

वोट
9

मैं ASP.NET कोड से पता लगाने के लिए, है, चाहे आईआईएस वर्तमान में Windows प्रमाणीकरण उपलब्ध है सक्षम होने के लिए चाहते हैं?

अपने आवेदन स्थापित से शुरू और वर्तमान के तहत बेनामी पहुँच चल रहा है, मैं पता लगाने के लिए चाहते हैं:

  1. विंडोज प्रमाणीकरण घटक वास्तव में IIS में स्थापित किया गया है (उदाहरण के लिए कुछ IIS7 यह डिफ़ॉल्ट रूप से स्थापित नहीं किया है); तथा...
  2. विंडोज प्रमाणीकरण मेरी आभासी जड़ / स्थान पर सक्षम वास्तव में है।

मैं प्रशासक पता है कि क्या वह IIS में कार्रवाई करने के लिए की जरूरत है, तो कृपया इस जानकारी चाहते हैं इससे पहले कि वह वास्तव में अपने आवेदन पर उस पर स्विच करने के लिए प्रयास करता है।

(इसलिए, उदाहरण के लिए, मुझे लगता है कि IIS7: कैसे परिभाषित करने के लिए है कि विंडोज़ प्रमाणीकरण चालू है मेरी मदद नहीं करता है, कि के रूप में है कि क्या यह पहले से ही अपने आवेदन के लिए पर है में दिख रही है, मैं जानना चाहता हूँ कि क्या यह स्थापित किया गया है / हो सकता है कामोत्तेजित।)

मेरे समाधान, तो मैं पता करने की जरूरत है, तो वहाँ मतभेद देखते हैं (या कम से कम नहीं असफल) 7 के रूप में काम करने के लिए 7 से पहले आईआईएस के संस्करणों के साथ साथ ही खुद की आवश्यकता होगी। धन्यवाद।

27/06/2011 को 17:10
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


5 जवाब

वोट
1

यह एक जवाब सिर्फ एक विचार एक संभव दिशा में बात करने के लिए के रूप में इतना नहीं है।

एक वेब एप्लिकेशन सामान्य रूप से स्वयं को अलग-थलग है और के तहत कम से कम विशेषाधिकार चलाता है तो मुझे नहीं लगता कि आप एक आवेदन के ASP कोड से इस तरह वैश्विक सेटिंग्स देख सकते है।

मुझे लगता है कि यह है कि आप WMI वर्गों को देखने के लिए चाहते हो जाएगा चाहते हैं। आप ADO या WMI वस्तुओं का उपयोग कर उन्हें क्वेरी कर सकते हैं। आप उच्च साख प्रतिरूपित करने के लिए हालांकि यह कॉल करने के लिए आवश्यकता हो सकती है।

यह पोस्ट देखें TechNet अनुच्छेद

27/06/2011 को 17:28
का स्रोत उपयोगकर्ता

वोट
2

जब Windows प्रमाणीकरण सक्षम किया गया है, आईआईएस रिटर्न जवाब में यह HTTP शीर्ष लेख:

WWW-Authenticate: NTLM

यह एक WebClient के साथ एक परीक्षण HTTP अनुरोध भेजना इसके लिए प्रतीक्षा करें और हैडर उपस्थिति की जांच करना संभव है।

15/02/2012 को 12:37
का स्रोत उपयोगकर्ता

वोट
3

मेरा जवाब @Paul Stovell की न्यूनतम आवश्यकताओं पर आधारित है (यह केवल आईआईएस 7 के लिए काम करने की जरूरत है)। जब WindowsAuthentication है स्थापित , applicationHost.config फ़ाइल में निम्न प्रविष्टि नहीं होगी <globalModules>अनुभाग:

<add name="WindowsAuthenticationModule" image="%windir%\System32\inetsrv\authsspi.dll" />

का उपयोग करते हुए Microsoft.Web.Administration.dll, में पाया जा सकता है %windir%\System32\inetsrv\, एक कर सकते हैं निम्न कोड के साथ WindowsAuthenticationModule के होने की जाँच:

ConfigurationSection globalModulesConfig = config.GetSection("system.webServer/globalModules");
ConfigurationElementCollection globalModulesCollection = globalModulesConfig.GetCollection();
bool installed = globalModulesCollection.FirstOrDefault(a => a.GetAttribute("name").Value.Equals("WindowsAuthenticationModule")) != null;

चूंकि ApplicationHost.config फ़ाइल में रहता है %windir%\System32\inetsrv\config, इस क्वेरी बनाने आवेदन ऊंचा विशेषाधिकारों की आवश्यकता है।

31/03/2012 को 15:27
का स्रोत उपयोगकर्ता

वोट
3

डिफ़ॉल्ट aspx पेज की जांच पर उपयोगकर्ता WindowsPrincipal का एक प्रकार पर सेट है। विंडोज Authenication तो सक्षम नहीं है प्रकार भिन्न होगा।

इसके अलावा खिड़कियों Authenication काम करने के लिए, ब्राउज़र NTLM हाथ मिलाना के लिए कॉन्फ़िगर किया जाना चाहिए।

कुछ कोड बाद में जोड़ देगा!

04/04/2012 को 06:36
का स्रोत उपयोगकर्ता

वोट
1

निम्नलिखित जांच web.config / आईआईएस सेटिंग्स मेरा मानना ​​है कि। आप प्रत्येक इन्स्टेन्शियशन पर अधिक चेकों जोड़ने config वर्गों परिभाषित आदि को देखने के लिए कर सकते हैं ...

System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration("~");

SystemWebSectionGroup configSection = (SystemWebSectionGroup)config.GetSectionGroup("system.web");

AuthenticationSection auth = configSection.Authentication;

if (auth.Mode == AuthenticationMode.Forms) { }
else if (auth.Mode == AuthenticationMode.Windows) { }
04/04/2012 को 11:38
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more