2010-06-08 31 views
7

Tôi đã nhận thấy rằng SQL Server 2005/2008 có thể xác thực tài khoản sao chép bằng chứng chỉ. Có thể xác thực .NET SqlConnection trong cùng một trang viên không?Xác thực kết nối SQL bằng cách sử dụng chứng chỉ trong .NET

Lý tưởng nhất, tôi muốn xóa hoàn toàn xác thực mật khẩu và yêu cầu người dùng aspnet kết nối bằng chứng chỉ được lưu trữ trên tài khoản của mình.

Điều này có thể thực hiện được không và nếu có, làm cách nào để thực hiện điều này?

+1

tại sao không có kết nối asp.net bằng tài khoản dịch vụ được xác thực bằng cửa sổ? –

+0

Vâng, bạn nói đúng. Thông thường đó sẽ là giải pháp. Tuy nhiên, chúng tôi không thể sử dụng tài khoản được xác thực từ cửa sổ. Các máy này không nằm trên cùng một miền và một số máy chủ liên hệ với máy chủ SQL từ các trung tâm ngày khác nhau nằm rải rác khắp cả nước. tldr; chúng tôi không thể sử dụng giải pháp đó. –

Trả lời

4

Cách duy nhất để xác thực kết nối giao thức TDS (nghĩa là kết nối người dùng) đang sử dụng xác thực Windows (NTLM/Kerberos) hoặc Xác thực SQL (người dùng/mật khẩu). Không thể xác thực kết nối TDS bằng chứng chỉ. Chỉ kết nối Cơ sở dữ liệu Mirroring và Dịch vụ môi giới mới có thể authenticate using certificate s.

Điều bạn có thể nhận thấy là xác thực HTTPS giữa IIS và ứng dụng khách xảy ra trong Web Based Replication. Đó thực sự là chứng thực dựa trên chứng chỉ, nhưng xảy ra giữa máy khách và IIS và SQL Server không liên quan đến bất kỳ cách nào trong đó.

+0

Điều này có đúng với SQL Server 2014 không? –

-1

Bạn có thể định cấu hình ASP.NET để sử dụng chứng chỉ phía ứng dụng khách, xem KB article này.

Nhưng máy chủ ASP.NET không có quyền truy cập vào chứng chỉ của khách hàng của bạn. Vì vậy, máy chủ ASP.NET không thể xác thực với SQL Server bằng chứng chỉ.

Các vấn đề liên quan