Làm cách nào tôi có thể dừng lời nhắc đăng nhập sau khi ủy quyền URL bị từ chối?

lập trình


Có đường nào trong web.config hoặc cài đặt IIS 7 sẽ dừng lời nhắc đăng nhập và chỉ buộc người dùng gặp lỗi 401 khi bị từ chối do quy tắc Ủy quyền URL?

Hiện tại, nó đã hạn chế thành công quyền truy cập vào trang nhưng không hiển thị lỗi “401 – Không được phép: Quyền truy cập bị từ chối do thông tin xác thực không hợp lệ” cho đến khi bạn nhấp vào hủy trên lời nhắc đăng nhập.

Sử dụng Windows 2008 R2, IIS 7.5, Xác thực Windows, Mạo danh và Ủy quyền URL.

Dưới đây là một ví dụ về cách tôi web.config tập tin trông giống như…

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> 

Giải pháp 1

Giải pháp 2

Giải quyết bằng cách sử dụng httpErrors trong web.config. Trang web hiện chuyển hướng đến trang lỗi tùy chỉnh và không nhắc thông tin đăng nhập Windows 3 lần.

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

コメント

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