অ্যাক্সেসের জন্য ক্লায়েন্ট শংসাপত্রের জন্য আইআইএস এক্সপ্রেসটি কীভাবে কনফিগার করতে হবে তা কি কেউ জানেন? আমি একটি সমস্যাযুক্ত ASP.NET অ্যাপ্লিকেশনটি ডিবাগ করার চেষ্টা করছি যা প্রমাণীকরণের জন্য ক্লায়েন্ট শংসাপত্রগুলি ব্যবহার করে।
অ্যাক্সেসের জন্য ক্লায়েন্ট শংসাপত্রের জন্য আইআইএস এক্সপ্রেসটি কীভাবে কনফিগার করতে হবে তা কি কেউ জানেন? আমি একটি সমস্যাযুক্ত ASP.NET অ্যাপ্লিকেশনটি ডিবাগ করার চেষ্টা করছি যা প্রমাণীকরণের জন্য ক্লায়েন্ট শংসাপত্রগুলি ব্যবহার করে।
উত্তর:
আইআইএস ম্যানেজার সরঞ্জামটি ব্যবহার করুন এবং মাইক্রোসফ্ট ডকুমেন্টেশন আইআইএস ক্লায়েন্ট শংসাপত্র ম্যাপিং প্রমাণীকরণ <iisClientCertificateMappingAuthentication> অনুসরণ করুন ।
নমুনা কনফিগারেশন:
<location path="Default Web Site">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="false" />
<anonymousAuthentication enabled="false" />
<digestAuthentication enabled="false" />
<basicAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="true"
manyToOneCertificateMappingsEnabled="true">
<manyToOneMappings>
<add name="Contoso Employees"
enabled="true"
permissionMode="Allow"
userName="Username"
password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]">
<rules>
<add certificateField="Subject"
certificateSubField="O"
matchCriteria="Contoso"
compareCaseSensitive="true" />
</rules>
</add>
</manyToOneMappings>
</iisClientCertificateMappingAuthentication>
</authentication>
<access sslFlags="Ssl, SslNegotiateCert" />
</security>
</system.webServer>
</location>
এগুলি হ'ল জেসন শ্যাভারস তার ব্লগে নির্দেশনা দিয়েছেন। (তবে সেই পৃষ্ঠাটি আর বিদ্যমান নেই)) স্কট হ্যানসেলম্যান http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx এ এসএসএল সক্ষম করার বিষয়েও কথা বলেছেন । তবে কোনও মুহুর্তে তিনি সাইটটি ক্লায়েন্টের শংসাপত্রের প্রয়োজন বানাতে উল্লেখ করেন না।
এই আমি অনুসরণ করা নির্দেশাবলী:
অ্যাপ্লিকেশনহোস্টকনফিগ পরিবর্তন করুন (মাইডোকুমেন্টস \ আইআইএসইএক্সপ্রেস \ কনফিগারেশনে এগুলির মধ্যে দুটি রয়েছে এবং অপরটি প্রোগ্রাম ফাইলগুলিতে \ আইআইএস এক্সপ্রেস er অ্যাপসভারটি ডিফল্টরূপে আপনার প্রোফাইলের নীচে ব্যবহার করা হয় যখন আপনি ভিএস ২০১২-এ আইআইএসপ্রেস-তে একটি প্রকল্প পরিচালনা করেন অন্যটি পারে কমান্ড লাইনটি ব্যবহার করে চালান যা আমি স্থানীয় টেস্ট মেশিনে করেছি))
<অ্যাক্সেস এসএসএলফ্লাগস = "অ্যাক্সেস" /> <অ্যাক্সেস এসএসএলফ্লাগস = "এসএসএলএনজিওটিয়েট সিয়ার্ট" />
এবং উপাদান
<iisClientCertificateMappingAuthentication सक्षम = "মিথ্যা"> </ iisClientCerર્ટateMappingAuthentication>
প্রতি
<iisClientCertificateMappingAuthentication सक्षम = "সত্য"> </ iisClientCerર્ટateMappingAuthentication>
পরবর্তী দুটি পদক্ষেপ উভয়ই ভিজ্যুয়াল স্টুডিওতে সম্পাদন করতে হবে ডিফল্টরূপে যখন কোনও নতুন প্রকল্পটি ভিএস 2012-এ তৈরি করা হয় তখন এটি আইআইএস এক্সপ্রেস প্রকল্প হিসাবে তৈরি করা হয়। ভিএস2012 এ স্থানান্তরিত একটি পুরানো প্রকল্পের আসলে সেটিংটি পরিবর্তন করতে পারে।
ওয়েব ট্যাবে প্রকল্পের বৈশিষ্ট্য পৃষ্ঠায়, স্থানীয় আইআইএস ওয়েব সার্ভার ব্যবহার করতে ভিজ্যুয়াল স্টুডিও বিকাশকারী সার্ভার ব্যবহার করুন। (আপনার ধরণের মেশিনে নিয়মিত আইআইএস ইনস্টল না থাকলে (যা এই এনএমসিআই মেশিনে করা যায় না saying) এখানে একটি প্রকল্পের ইউআরএল থাকতে হবে যাতে http: // এর মতো কিছু বলার দরকার আছে) a লোকালহোস্ট: 62714 / (যা একই পোর্টটি ভিজ্যুয়াল স্টুডিও ডেভলপমেন্ট সার্ভার সেটিংসের অধীনে "নির্দিষ্ট পোর্ট" হিসাবে সেট করা উচিত (যদি সেট করা থাকে)
তারপরে সমাধান এক্সপ্লোরারে প্রকল্পটি নির্বাচন করুন এবং বৈশিষ্ট্য ট্যাবে যান। (বৈশিষ্ট্যগুলি দেখানোর আগে কখনও কখনও এটি বেশ কয়েকবার করা উচিত)) এতে তিনটি বৈশিষ্ট্য থাকবে, এসএসএল সক্ষম হবে যা ডিফল্ট হবে মিথ্যা, এসএসএল ইউআরএল যা একটি নতুন প্রকল্পের সাথে ফাঁকা এবং ইউআরএল এ ইউআরএল সেট করা আছে " প্রোজেক্ট ইউআরএল "বৈশিষ্ট্য ট্যাবে।
এসএসএল সক্ষম হওয়া সম্পত্তিটিকে সত্যে পরিবর্তন করুন এবং একটি নতুন এসএসএল URL তৈরি হবে।
"" এলিমেন্টের আওতায় অ্যাপ্লিকেশন হোস্টকনফিগ ফাইলে একটি নতুন এন্ট্রি করা হয় যখন আপনি এসএসএল সক্ষম করার আগে প্রকল্পটি প্রথম চালিত হয়। এটি দেখতে এটির মতো হবে:
<site name="WebApplication1" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\users\edward.joell\documents\visual studio 2012\Projects\WebApplication1\WebApplication1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:61313:localhost" />
</bindings>
</site>
আপনি যখন আপনার প্রকল্পে এসএসএল সক্ষম করেন, তখন এটির মতো দেখতে হবে:
<site name="WebApplication1" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\users\edward.joell\documents\visual studio 2012\Projects\WebApplication1\WebApplication1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:61313:localhost" />
<binding protocol="https" bindingInformation="*:44313:localhost" />
</bindings>
</site>
(সমস্ত 443xx পোর্টগুলি এসএসএল প্রকল্পের জন্য সংরক্ষিত)।
আমি একটি ব্লগ পেয়েছি যা আইআইএস এক্সপ্রেসের জন্য ক্লায়েন্ট শংসাপত্রের অনুরোধগুলি কীভাবে কনফিগার করতে হয় সে সম্পর্কে বিস্তারিত জানলাম (আমি ভিজ্যুয়াল স্টুডিও 2017, আইআইএসপ্রেস 10.0 ব্যবহার করেছি)। স্পষ্টতই applicationhost.config
ফাইলগুলির অবস্থান ভিজ্যুয়াল স্টুডিও 2015 এবং তারপরে পরিবর্তিত হয়েছে।
এটি কী বলে তার একটি রূপরেখা এখানে দেওয়া হয়েছে:
SSL Enabled
থেকে True
( SSL URL
সম্পত্তিটি লক্ষ্য করুন )https://localhost:44300
applicationhost.config
: 2015 বা 2017 সালে, ফাইলটি [solution directory]\.vs\config\
পাওয়া গেছে - এটি পূর্ববর্তী সংস্করণগুলিতে পাওয়া গেছে%UserProfile%\Documents\IISExpress\config\
<access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
এবং করুন<iisClientCertificateMappingAuthentication enabled="true"></iisClientCertificateMappingAuthentication>
Request.ClientCertificate
সম্পত্তিটিতে কোড থেকে পাওয়া যায় এবং আপনি ব্রাউজারে আপনার পৃষ্ঠাটি খুললে আপনাকে অনুরোধ করা উচিত।