Tôi có một kịch bản kiểm tra ASP.NET nhỏ mở kết nối tới cơ sở dữ liệu SQL Server trên một máy khác trong miền. Nó không hoạt động trong mọi trường hợp.
Thiết lập:
IIS 7.5 trong W2K8R2 đang cố gắng kết nối với phiên bản SQL Server 2008 R2 từ xa. Tất cả các máy nằm trong cùng một miền.
Sử dụng ApplicationPoolIdentity cho trang web, nó không thể kết nối với SQL Server bằng cách sau:
Đăng nhập thất bại cho người dùng 'NT AUTHORITY \ ANONYMOUS LOGON'. Mô tả: Một ngoại lệ chưa được xử lý đã xảy ra trong quá trình thực hiện yêu cầu web hiện tại. Vui lòng xem lại dấu vết ngăn xếp để biết thêm thông tin về lỗi và nơi xuất phát trong mã.
Chi tiết ngoại lệ: System.Data.SqlClient.SqlException: Đăng nhập thất bại cho người dùng 'NT AUTHORITY \ ANONYMOUS LOGON'.
Tuy nhiên, nếu tôi chuyển Nhận dạng mô hình quy trình sang DỊCH VỤ MẠNG hoặc tài khoản miền của tôi, kết nối cơ sở dữ liệu thành công.
Tôi đã cấp quyền truy cập \ $ trong SQL Server.
Tôi không thực hiện bất kỳ loại xác thực nào trên trang web, nó chỉ là một tập lệnh đơn giản để mở một kết nối đến cơ sở dữ liệu để đảm bảo nó hoạt động.
Tôi đã bật Xác thực ẩn danh và đặt để sử dụng danh tính nhóm Ứng dụng.
Làm thế nào để tôi thực hiện công việc này? Tại sao ApplicationPoolIdentity đang cố gắng sử dụng ANONYMOUS LOGON? Tốt hơn nữa, làm cách nào để làm cho nó ngừng sử dụng đăng nhập ẩn danh?