Bagaimana cara menghentikan perintah login setelah otorisasi URL ditolak?

pemrograman


Apakah ada jalan masuk web.config atau pengaturan IIS 7 yang akan menghentikan permintaan login dan hanya memaksa pengguna melakukan kesalahan 401 setelah ditolak karena aturan Otorisasi URL?

Saat ini, ia berhasil membatasi akses ke halaman, tetapi tidak menampilkan kesalahan “401 – Tidak Sah: Akses ditolak karena kredensial tidak valid” sampai Anda mengklik batal pada perintah login.

Menggunakan Windows 2008 R2, IIS 7.5, Otentikasi Windows, Peniruan Identitas, dan Otorisasi URL.

Di bawah ini adalah contoh cara saya web.config berkasnya tampak seperti…

XML
<?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> 

Solusi 1

Solusi 2

Diselesaikan dengan menggunakan httpErrors di web.config. Situs sekarang dialihkan ke halaman kesalahan khusus dan tidak meminta kredensial windows sebanyak 3 kali.

XML
<system.webServer>
   <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File">
     <remove statusCode="401" />
     <error statusCode="401" path="/AccessDenied.aspx" responseMode="ExecuteURL" />
   </httpErrors>
 </system.webServer>

コメント

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