यूआरएल प्राधिकरण अस्वीकृत होने के बाद मैं लॉगिन संकेतों को कैसे रोक सकता हूं?


क्या भीतर कोई रास्ता है? वेब.कॉन्फिग या आईआईएस 7 सेटिंग्स जो लॉगिन संकेतों को रोक देगी और यूआरएल प्राधिकरण नियम के कारण अस्वीकार किए जाने पर उपयोगकर्ता को 401 त्रुटि के लिए मजबूर कर देगी?

अभी, यह पृष्ठ तक पहुंच को सफलतापूर्वक प्रतिबंधित करता है, लेकिन जब तक आप लॉगिन प्रॉम्प्ट पर रद्द पर क्लिक नहीं करते, तब तक “401 – अनधिकृत: अमान्य क्रेडेंशियल के कारण प्रवेश अस्वीकृत है” त्रुटि प्रदर्शित नहीं करता है।

Windows 2008 R2, IIS 7.5, Windows प्रमाणीकरण, प्रतिरूपण और URL प्राधिकरण का उपयोग करना।

नीचे एक नमूना है कि कैसे मेरा वेब.कॉन्फिग फ़ाइल ऐसी दिखती है…

एक्सएमएल
<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
        <security> 
            <authorization> 
                <remove users="*" roles="" verbs="" /> 
                <add accessType="Allow" roles="iis7test\BobAndFriends" />             

            </authorization> 
        </security> 
    </system.webServer> 
    <location path="bobsSecret.aspx"> 
        <system.webServer> 
            <security> 
                <authorization> 
                    <remove users="" roles="iis7test\BobAndFriends" verbs="" /> 
                    <add accessType="Allow" users="iis7test\Bob" />                  

                </authorization> 
            </security> 
        </system.webServer> 
    </location> 
</configuration> 

समाधान 1

हो सकता है कि निम्नलिखित लिंक आपके लिए उपयोगी हो

http://stackoverflow.com/questions/217678/how-to-generate-an-401-error-programmatically-in-an-asp-net-page[^]

समाधान 2

Web.config में httpErrors का उपयोग करके हल किया गया। साइट अब कस्टम त्रुटि पृष्ठ पर रीडायरेक्ट करती है और विंडोज़ क्रेडेंशियल के लिए 3 बार संकेत नहीं देती है।

एक्सएमएल
<system.webServer>
   <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File">
     <remove statusCode="401" />
     <error statusCode="401" path="/AccessDenied.aspx" responseMode="ExecuteURL" />
   </httpErrors>
 </system.webServer>

コメント

タイトルとURLをコピーしました