2016-08-22 10 views
8

मेरे Asp.Net कोर MVC वेब अनुप्रयोग विंडोज प्रमाणीकरण की आवश्यकता है। developpement में, आईआईएस एक्सप्रेस पर, सब कुछ इस के लिए ठीक धन्यवाद की स्थापनाAsp.Net कोर MVC आवेदन विंडोज प्रमाणीकरण IIS में

launchSettings.json

"iisSettings": { 
    "windowsAuthentication": true, 
    "anonymousAuthentication": false, 
    "iisExpress": { 
     "applicationUrl": "http://localhost:61545/", 
     "sslPort": 0 
    } 
    } 

जब आईआईएस के लिए तैनाती, मैं एक रिक्त पृष्ठ मिल काम करता है। मेरी साइट के अनुरोध को 500 त्रुटि कोड मिलता है।

मैं Startup.cs को यह विन्यास जोड़ने की कोशिश की, के रूप में here बताया गया है, सफलता नहीं मिली।

services.Configure<IISOptions>(options => { 
     options.ForwardWindowsAuthentication = true; 
    }); 

जब मैं सीधे आईआईएस में प्रमाणीकरण मानकों को देखता हूं, तो विंडोज प्रमाणीकरण सक्रिय होता है।

मैं कुछ पोस्ट एक पैकेज Microsoft.AspNetCore.Server.WebListener कहा जाता है, एक कस्टम मिडिलवेयर को लागू करने के बारे में दूसरों के बारे में बात नहीं मिला। मैं कल्पना नहीं कर सकता कि इस मूलभूत सुविधा को काम करने के लिए बहुत प्रयास की जरूरत है। क्या मैं कुछ भूल रहा हूँ ?

+0

क्या आप सुनिश्चित हैं कि प्रमाणीकरण के कारण त्रुटि उत्पन्न होती है? यदि ऐसा है तो त्रुटि संदेश क्या है? –

+0

आपके एफआरईबी लॉग में क्या है? https://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis – blowdart

+0

आप आईआईएस प्रबंधक में एप्लिकेशन पूल पहचान के साथ झुकाव का प्रयास कर सकते हैं: http : //www.iis.net/learn/manage/configuring-security/application-pool-identities –

उत्तर

12

launchSettings.json फ़ाइल केवल बनाम द्वारा किया जाता है जब आप अपनी ऐप्लिकेशन प्रकाशित (या वी.एस. के बिना चलने) launchSettings.json इस्तेमाल नहीं किया जा रहा है। जब आप आईआईएस/IISExpress के साथ भागते हैं तो आपको बस यह सुनिश्चित करने की आवश्यकता है कि आपके web.config में सही सेटिंग्स हों। आपके मामले में web.config में forwardWindowsAuthToken विशेषता गुम है या false को तैयार है। इसे विंडोज प्रमाणीकरण के लिए काम करने के लिए true पर सेट किया जाना चाहिए। प्रकाशन से पहले एक नमूना web.config इस तरह दिखेगा:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true"/> 
    </system.webServer> 
</configuration> 
+2

यह बहुत उपयोगी है, जानकारी के लिए धन्यवाद। यदि आप मौजूद नहीं हैं, तो आपको वेब.कॉन्फिग फ़ाइल मैन्युअल रूप से बनाने की आवश्यकता हो सकती है, जो कि यहां वर्णित वीएस 2017 का उपयोग करके मेरे साथ हुआ: [https://developercommunity.visualstudio.com/content/problem/26751/publish-aspnet कोर करने के लिए आईआईएस-साथ-windows-authentica.html] (https://developercommunity.visualstudio.com/content/problem/26751/publish-aspnet-core-to-iis-with-windows-authentica.html) –

1

आपको अपने प्रोजेक्ट डीआईआर में web.config की जांच करने की आवश्यकता है। यह सेटिंग्स मेरी मदद कर रही थीं।

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true"/> 
    <security> 
     <authentication> 
     <anonymousAuthentication enabled="false" /> 
     <windowsAuthentication enabled="true" /> 
     </authentication> 
    </security> 
    </system.webServer> 
</configuration> 
संबंधित मुद्दे