2009-06-25 47 views
5

Tôi có 2 máy chủ được thiết lập tại thời điểm này. Một là máy chủ web chạy Win Server 08 và máy chủ cơ sở dữ liệu đang chạy SQL Server 08 trên Win Server 08.chuỗi kết nối cho máy chủ cơ sở dữ liệu từ xa

Hiện tại tôi có thiết lập trang để có thể đọc/ghi vào cơ sở dữ liệu bằng cách sử dụng chuỗi kết nối Tôi tạo ra với tên cơ sở dữ liệu, ip máy chủ, người dùng db và db pwd. Người dùng db mà tôi đã tạo có thiết lập vai trò 'công khai' trong cơ sở dữ liệu (không phải chủ sở hữu db) và chỉ có thể chạy các thủ tục được lưu trữ của exec. My chuỗi kết nối hiện trông như thế này:

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

Trong khi điều này đang làm việc một cách hoàn hảo đối với tôi, tôi muốn thiết lập một chuỗi kết nối cơ sở dữ liệu mà không chứa bất kỳ username và password. Trên một số máy chủ khác của tôi, nơi máy chủ SQL nằm trên cùng một máy chủ với các tệp web, tôi có thể sử dụng kết nối đáng tin cậy và sử dụng người dùng 'Dịch vụ mạng' được xây dựng trên cơ sở dữ liệu của tôi. Điều này cho phép tôi chạy một chuỗi kết nối không có tên đăng nhập và mật khẩu như sau:

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

Có một cách dễ dàng để đạt được một kết nối đến cơ sở dữ liệu mà không hardcoding một tên người dùng và mật khẩu - như chuỗi kết nối trên - khi sử dụng 2 các máy chủ khác nhau? Tôi đang lãng phí thời gian của tôi đi xuống tuyến đường này nhìn thấy như thế nào người sử dụng cơ sở dữ liệu tôi tạo ra chỉ có quyền exec anyways?

Cảm ơn bạn đã suy nghĩ về điều này.

Trả lời

5

Bạn không lãng phí thời gian của mình. Đây là một thực hành rất tốt. Khi bạn tách ra IIS và SQL trên máy riêng biệt, đây là một số lựa chọn:

  • Tạo người dùng asp.net trên cả hộp IIS và SQL server (tốt nhất là với cùng một mật khẩu)
  • Sử dụng mạo danh (thay đổi bối cảnh trang web của bạn chạy dưới)
  • Mã hóa một chuỗi kết nối trong registry một tập tin cấu hình và quên đi các kết nối đáng tin cậy (brrrr)
  • Chuyển bối cảnh asp.net để là một người dùng miền
  • sử dụng IIS6 trong chế độ ứng dụng gốc
+0

Cảm ơn phản hồi. Về mạo danh, bạn có biết bất kỳ hướng dẫn hay hướng dẫn nào tốt để thiết lập điều đó không? Chúc mừng. –

+0

thực sự làm xước câu hỏi cuối cùng. Giữa bài viết của bạn và câu hỏi này tôi có thông tin tôi cần. Cảm ơn. http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-from-localhost-login-fai –

1

Nếu 2 máy chủ không nằm trong cùng một miền Windows, bạn không thể sử dụng kết nối đáng tin cậy.

Ngoài ra, thông tin đăng nhập phải được tạo dưới dạng xác thực Windows, bạn không thể sử dụng thông tin đăng nhập xác thực SQL với kết nối đáng tin cậy.

Nếu không, mọi thứ Tapori cho biết.

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