2010-11-14 39 views
7

Tôi đã tạo một ứng dụng trong C# + WPF + MySQL. Cách tốt nhất (an toàn nhất) để lưu trữ chuỗi kết nối cơ sở dữ liệu là gì?Tôi nên lưu trữ chuỗi kết nối cơ sở dữ liệu ở đâu?

+0

Có cần phải an toàn không? Nếu dịch vụ của bạn đang chạy trên máy chủ của bạn, tại sao bạn muốn bảo mật chuỗi kết nối? (Tôi giả sử bạn đã lưu trữ nó trong cấu hình ứng dụng) –

+0

Ứng dụng được triển khai như thế nào? Mỗi người dùng có một chuỗi kết nối khác nhau hay có một chuỗi kết nối cho tất cả? –

Trả lời

5

Bạn có thể store connections strings in the configuration file. Bạn có thể bảo vệ chúng nếu cần.

+0

nếu tôi thêm chuỗi kết nối vào app.config - chuỗi kết nối an toàn này của tôi? – Mediator

+0

Bất kỳ ai có quyền truy cập vào ứng dụng này đều có thể đọc chuỗi kết nối có thể chứa thông tin nhạy cảm như mật khẩu. Bạn có thể mã hóa phần này để tăng cường bảo mật. –

+0

Truy cập thông qua dự án? hoặc undebagom? làm thế nào để mã hóa? – Mediator

2

Cách khác - đăng ký. Một nơi mà bạn KHÔNG lưu trữ chúng là tệp app.config (whatever.exe.config) vì nó chỉ tồn tại ONCE và thư mục chương trình không phải là thứ mà người dùng có thể thay đổi. Mỗi cài đặt người dùng sẽ không bao giờ ở đó.

0

Bạn có thể sử dụng visual studio settings/thuộc tính có sẵn khi sử dụng studio trực quan. Chúng khá đơn giản để sử dụng, và nếu bạn sử dụng một thiết lập người dùng, nó sẽ được lưu trong thư mục dữ liệu ứng dụng cho người dùng, vì vậy nó sẽ bị ẩn đi một cách xa so với việc leng keng. Sau đó, tất cả những gì bạn phải làm là một số dạng mã hóa để khóa nó hoàn toàn nếu bạn muốn.

Tôi nghĩ rằng điều tốt nhất về cài đặt studio trực quan là tính dễ sử dụng.

5

Lưu trữ trên tệp App.config và luôn mã hóa nó. This link sẽ chỉ cho bạn cách mã hóa các phần của tệp cấu hình của bạn.

0

Tôi cũng luôn theo một thực hành. Khi bao giờ tôi làm một số điều trong SL hoặc WPF, tôi luôn đặt lớp dịch vụ giữa SL/WPF và cơ sở dữ liệu.

1

Nếu ứng dụng đang chạy trên máy chủ, tôi khuyên bạn nên sử dụng tệp machine.config và mã hóa nó trong cùng một trang viên mà Fernando đề xuất. Nếu ứng dụng sẽ được phân phối thì app.config là nơi tôi sẽ lưu trữ chúng.

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