मुझे आशा है कि कोई निम्नलिखित परिदृश्य में मेरी मदद कर सकता है, क्योंकि मैं कुछ दिनों से बिना किसी सफलता के वेब को ट्रोल कर रहा हूं।

मैं जिस परिदृश्य का सामना कर रहा हूं वह यह है कि यदि उपयोगकर्ता सक्रिय निर्देशिका (एडी) में मौजूद है तो मैं स्वचालित रूप से लॉगिन स्क्रीन को कैसे बायपास करूं और सीधे डैशबोर्ड पर जाऊं? यदि उपयोगकर्ता मौजूद नहीं है यानी उपयोगकर्ता के पास सक्रिय निर्देशिका (एडी) खाता नहीं है तो उपयोगकर्ता को लॉगिन पृष्ठ पर रीडायरेक्ट करें।

प्रक्रिया को बेहतर ढंग से समझाने के लिए संलग्न एक तस्वीर है।

enter image description here

यदि मैं "आईआईएस एक्सप्रेस" का उपयोग करके एएसपी.नेट एमवीसी 4 वेब ऐप चलाता हूं तो उपयोगकर्ता नाम और डोमेन सही हैं, और मैं स्वचालित रूप से लॉग इन हो जाता हूं क्योंकि मेरे प्रमाण-पत्र सही हैं उदाहरण के लिए:

username   => "username"
domain     => "domain"

लेकिन अगर मैं अपने "स्थानीय आईआईएस" पर समाधान चलाता हूं तो प्रमाण-पत्र गलत हैं क्योंकि आईआईएस निम्नलिखित प्रमाण-पत्रों का उपयोग करने में लॉग इन करता है:

web.config setting (identity impersonate="false")
username   => "NT AUTHORITY\\IUSR"
domain     => "IIS APPPOOL"

web.config setting (identity impersonate="true")
username   => "NT AUTHORITY\\IUSR"
domain => "NT AUTHORITY"

[15/11/2017] अपडेट

ऐसा लगता है कि यह UserPrincipal.FindByIdentity पर विफल हो रहा है जैसा कि मैंने मूल लॉगिंग में बनाया है ताकि मुझे बेहतर समझ मिल सके कि यह सर्वर पर कहां विफल हो रहा है।

मुझे जो त्रुटि मिल रही है वह है "एक ऑपरेशन त्रुटि हुई।"।

रुचि के आईआईएस में सेटिंग्स इस प्रकार हैं:

"एप्लिकेशन पूल" उन्नत सेटिंग...

Enable 32-Bit Applications  = True
Identity                    = NetworkService

और वेबसाइट प्रमाणीकरण सेटिंग इस प्रकार हैं:

Anonymous Authentication    = Disabled
ASP.NET Impersonation       = Enabled
Basic Authentication        = Disabled
Forms Authentication        = Disabled
Windows Authentication      = Enabled

[16/11/2017] अपडेट

आईआईएस में प्रतिरूपण बंद कर दिया और पहचान को ApplicationPoolIdentity पर सेट करें

मेरे द्वारा बनाई गई लॉग फ़ाइल से मेरे मान यहां दिए गए हैं:

[2017-11-16 07:17:52 AM]    Windows username    => username (e.g. jdoe)
[2017-11-16 07:17:52 AM]    Domain              => IIS APPPOOL
[2017-11-16 07:21:18 AM]    Windows username    => username (e.g. jdoe)
[2017-11-16 07:21:18 AM]    Domain              => IIS APPPOOL
[2017-11-16 07:23:38 AM]    Windows username    => username (e.g. jdoe)
[2017-11-16 07:23:38 AM]    Domain              => IIS APPPOOL

[16/11/2017] समाधान

"एप्लिकेशन पूल" उन्नत सेटिंग...

Enable 32-Bit Applications  = True
Identity                    = NetworkService

और वेबसाइट प्रमाणीकरण सेटिंग इस प्रकार हैं:

Anonymous Authentication    = Disabled
ASP.NET Impersonation       = Disabled
Basic Authentication        = Disabled
Forms Authentication        = Disabled
Windows Authentication      = Enabled

चीयर्स,

टिम

1
Tim Kruger 14 नवम्बर 2017, 13:45

1 उत्तर

सबसे बढ़िया उत्तर

अपने स्थानीय आईएसएस में विंडोज प्रमाणीकरण सक्षम करें। ISS स्क्रीनशॉट

इससे आपके स्थानीय आईएसएस के साथ होने वाली समस्या का समाधान होना चाहिए।

1
Syl20 14 नवम्बर 2017, 20:14