আমার পিএইচপি ওয়েবসাইট আইআইএস 7.5 এর অধীনে চলছে। সাইটটি উইন্ডোজ প্রমাণীকরণ দ্বারা সুরক্ষিত এবং এটি দুর্দান্ত কাজ করে:
ব্যবহারকারীরা সাইটে গেলে, তাদের ব্যবহারকারীর নাম / পাসওয়ার্ড জিজ্ঞাসা করা হয় এবং অনুমোদনপ্রাপ্ত হলে তা পেয়ে যায়। যদি ব্যবহারকারীরা 3 বার বাতিল বা ভুল টাইপ করে ক্লিক করেন তবে তাদের 401 ত্রুটি পৃষ্ঠা প্রদর্শিত হবে:
এখন আমি কীভাবে লগ ইন করতে হবে তা ব্যাখ্যা করে কাস্টম পৃষ্ঠা প্রদর্শন করতে চাই। সুতরাং আমি ত্রুটি পৃষ্ঠাগুলিতে যাচ্ছি, স্থিতি কোড 401.2 নির্বাচন করুন এবং আমি যে পৃষ্ঠাটি প্রদর্শন করতে চাই তাতে এটি নির্দেশ করুন:
তারপরে নিশ্চিত হয়ে নিন যে সবার জন্য কাস্টম ত্রুটিগুলি চালু আছে। আর কা-বুম! প্রমাণীকরণ আর কাজ করে না, ব্যবহারকারীরা পাসওয়ার্ড প্রম্পট সহ উপস্থাপিত হয় না। ডকুমেন্টেশন যেমন বলে, উইন্ডোজ প্রমাণীকরণ প্রথমে 401 জবাব পাঠিয়ে কাজ করে, তারপরে ব্রাউজার ব্যবহারকারীকে সরবরাহকারীর শংসাপত্রগুলি জিজ্ঞাসা করে এবং তারপরে তারা কী করতে হবে তা নিয়ে কাজ করে।
এখানে কী ঘটে: পৃষ্ঠার প্রথম অনুরোধে আইআইএস 401-শিরোলেখ প্রেরণের চেষ্টা করে, তবে ওয়েবকনফিগ "401 এ এই পৃষ্ঠাতে পুনঃনির্দেশিত" বলে নোটিশটি লক্ষ্য করে। এবং প্রমাণীকরণের পরিবর্তে, এটি কেবল পুনর্নির্দেশ পৃষ্ঠা দেয়।
আমি 401, 401.1, 401.2 প্রতিস্থাপন করার চেষ্টা করেছি - কোনও পার্থক্য নেই।
আমি কী ভুল করছি এবং ব্যবহারকারীর প্রমাণীকরণের ত্রুটিতে কাস্টম পৃষ্ঠাটি কীভাবে দেব?
পিএস এখানে ওয়েবকনফিগ:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="401" subStatusCode="-1" />
<error statusCode="401" subStatusCode="2" prefixLanguageFilePath="" path="/not_restricted/401.htm" responseMode="ExecuteURL" />
<error statusCode="404" prefixLanguageFilePath="" path="/not_restricted/404.htm" responseMode="ExecuteURL" />
</httpErrors>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
<system.web>
<identity impersonate="false" />
<customErrors defaultRedirect="http://www.myserver.com/not_restricted/500.htm" mode="Off">
</customErrors>
</system.web>
</configuration>