2011-10-19 11 views
7

मैं एसएसएल और क्लाइंट प्रमाण पत्र प्रमाणीकरण के साथ एक एएसपी.नेट एमवीसी अनुप्रयोग सुरक्षित करने के लिए देख रहा हूं। मैं आईआईएस 7.5, विंडोज सर्वर 2008 आर 2 का उपयोग कर रहा हूँ।एसएसएल और क्लाइंट प्रमाण पत्र प्रमाणीकरण के साथ सुरक्षित एएसपी.नेट एमवीसी अनुप्रयोग

मैं जानना चाहता हूँ कि क्या यह Web.config के माध्यम से निम्न करने के लिए संभव है चाहते हैं (यह वहाँ के माध्यम से हो गया है!)

  1. सभी अनुरोधों
  2. मानचित्र कई क्लाइंट प्रमाण पत्र के लिए एसएसएल संचार की आवश्यकता होती है एक एकल उपयोगकर्ता
  3. उपयोगकर्ता की आवश्यकता होती है

इसके अलावा प्रमाणीकृत करने, कैसे यह कर के बारे में पर जाने के लिए पर किसी भी संकेत दिए गए, किसी भी ट्यूटोरियल या अन्य संबंधित संसाधनों ज्यादा appr हो जाएगा जैसा कि मैं इन सभी चीजों के लिए बहुत नया हूं, के रूप में eciated।

+0

आईआईएस 6.1 और विंडोज सर्वर 2008 आर 2? कैसे? –

+0

क्षमा करें! वह मेरे बारे में बहुत मूर्ख था! मेरा मतलब 7.5 था! –

उत्तर

7

तो, मेरे अपने सवालों के जवाब देने .. के ऊपर Web.config के माध्यम से प्राप्त किया जा सकता सब। Web.config के निम्न अनुभाग में सिस्टम/एक्सेस सेक्शन के माध्यम से SSL की आवश्यकता होती है, और कई-से-एक क्लाइंट प्रमाणपत्र मैपिंग कॉन्फ़िगर करता है। ये अनुभाग applicationHost.config में बंद हैं, इसलिए Web.config में उन्हें संपादित करने की इच्छा रखने वाले किसी को भी उन्हें अनलॉक करने की आवश्यकता होगी। उस पर कई ट्यूटोरियल हैं इसलिए मैं इसमें नहीं जाऊंगा।

 <security> 
      <access sslFlags="Ssl, SslNegotiateCert" /> 
      <authentication> 
       <anonymousAuthentication enabled="false" /> 
       <iisClientCertificateMappingAuthentication enabled="true" manyToOneCertificateMappingsEnabled="true"> 
        <manyToOneMappings> 
         <add name="Authentication Certificate" 
          enabled="true" 
          permissionMode="Allow" 
          userName="foo" 
          password="bar"> 
          <rules> 
           <add certificateField="Issuer" certificateSubField="CN" matchCriteria="*.stackoverflow.com" compareCaseSensitive="false" /> 
          </rules> 
         </add> 
        </manyToOneMappings> 
       </iisClientCertificateMappingAuthentication> 
      </authentication> 
     </security> 
2

क्रम में जा रहे हैं:

  1. आवश्यकता होती है सभी अनुरोधों के लिए SSL संचार - हाँ। आईआईएस में, साइट को केवल https बाध्यकारी के साथ सेट करें, और http बाइंडिंग को हटाएं। साइट http अनुरोधों का जवाब नहीं देगी। यदि आप ऐसा करते हैं, तो आपको http://mysite.com से https://mysite.com पर 403.4 त्रुटियों को पुनर्निर्देशित करने के लिए एक स्क्रिप्ट बनाना चाहिए। आप विभिन्न उपकरणों का उपयोग करके इसे कैसे करें इसके कई उदाहरण पा सकते हैं।

  2. एक ही उपयोगकर्ता को एकाधिक क्लाइंट प्रमाणपत्र मैप करें - मुझे पता नहीं है। मैं इस पर गुजर जाऊंगा।

  3. उपयोगकर्ता को प्रमाणीकृत होने की आवश्यकता है - हाँ। web.config फ़ाइल में <system.web> तत्व में, जोड़ने निम्नलिखित:

    <authorization> 
        <deny users="?"/> 
    </authorization> 
    
+0

अपडेट होगा - यह उपयोगी था। बस इसे एक अलग तरीके से कर समाप्त हो गया। –

+0

2) http://www.iis.net/ConfigReference/system.webServer/security/authentication/iisClientCertificateMapping प्रमाणीकरण – quetzalcoatl

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