Tôi có một trang web chạy trên IIS trên máy chủ cục bộ của mình. Trang web này có bảo mật thư mục được đặt để chỉ cho phép Xác thực Windows tích hợp. Nó là một phần của mạng nội bộ và cần xác thực bằng tài khoản miền của chúng tôi.Xác thực Windows Tích hợp với IIS, Firefox và SQL Server
Sau đó tôi kết nối với Máy chủ SQL với Bảo mật tích hợp = SSPI trong chuỗi kết nối.
Điều này hoạt động tốt với Microsoft Internet Explorer, nó tự động xác thực tôi khi tôi đăng nhập vào miền và tôi có thể thấy rằng logon_user là tài khoản miền của tôi và chuỗi kết nối SQL Server hoạt động tốt.
Tuy nhiên, khi tôi đăng nhập bằng Firefox, mọi thứ khác nhau. Trước tiên, tôi được nhắc xác thực, đó là tốt và chính xác như Firefox không được cấu hình để tin tưởng localhost đủ để tự động gửi thông tin đăng nhập (và thực sự tôi biết làm thế nào để giới thiệu sự tin tưởng này, đây không phải là vấn đề). Sau đó tôi đăng nhập, một lần nữa là tốt, miễn là tôi nhập chi tiết tài khoản miền mọi thứ đều ổn. Thật vậy, một tuyên bố gỡ lỗi hoặc hai cho thấy rằng logon_user vẫn là tài khoản miền của tôi và mọi thứ đều ổn.
Tuy nhiên, khi tôi đến để kết nối với SQL Server (mà đang chạy trên một hộp máy chủ từ xa, mà tài khoản tên miền của tôi có đặc quyền quản trị hệ thống đầy đủ), tôi nhận được lỗi sau:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Điều này cho thấy với tôi rằng một cái gì đó là sai trong ngăn xếp xác thực, vì một số lý do, IIS không chạy như tài khoản xác thực khi tôi xác thực bằng cách sử dụng xác thực cửa sổ từ firefox.
Điều này cũng hoạt động tốt khi sử dụng Google Chrome.
Mọi đề xuất?
Bạn có đang chạy SQL và IIS trên cùng một máy không? – Tomalak
Không, SQL Server nằm trên máy chủ bảo mật từ xa. – THEMike