2009-09-10 27 views
16

Tôi đang tìm các đề xuất và thực tiễn tốt nhất để áp dụng các hội đồng đã ký trong một tổ chức với hơn 30 nhà phát triển, hơn 20 giải pháp và 60 dự án. Chúng tôi đang sử dụng Visual Studio Team System 2008 và TFS.Thực tiễn tốt nhất để ký kết các hội đồng với nhiều dự án và nhà phát triển

Trong khi tạo khóa và ký assembly là một thủ tục rất dễ dàng và thẳng tiến, tôi lo ngại cách chúng tôi quản lý cách tốt nhất.

những suy nghĩ của tôi cho đến nay:

  • Mỗi giải pháp, trong đó thường có từ 3 đến 20 dự án, sẽ có một single pfx key file được đặt trong thư mục giải pháp gốc.
  • Mỗi giải pháp sẽ có mật khẩu mạnh duy nhất cho khóa.

Chúng tôi có gặp phải bất kỳ sự cố nào với cách tiếp cận đó không?

Một số ý tưởng khác:

  • Sử dụng cùng một tập tin quan trọng đối với tất cả các dự án trên khắp các giải pháp. Điều này sẽ làm cho công cụ dễ dàng hơn cho chúng ta? nó là một ý tưởng tồi? Thậm chí có thể không?
  • Mỗi dự án có khóa duy nhất của riêng mình không? Tại sao tại sao không?

Bất kỳ đầu vào, trải nghiệm và khuyến nghị tốt/xấu đều được hoan nghênh. :)

Trả lời

13

Trước đây, tôi đã sử dụng một khóa duy nhất cho nhiều giải pháp và dự án rất hiệu quả. Cách tiếp cận đơn giản của nó đảm bảo rằng chỉ những người có quyền truy cập vào tệp khóa riêng tư mới có thể xuất bản một bản dựng vượt qua kiểm tra tên mạnh.

Lưu ý: Để sử dụng tệp khóa duy nhất, chúng tôi thấy dễ nhất là thêm tệp dưới dạng liên kết cho từng dự án.

Một trong những bất lợi mà tôi thấy là có tệp khóa sẵn có cho nhà phát triển của bạn có nghĩa là nó không hoàn toàn riêng tư như mong muốn. Lý tưởng nhất, càng ít người càng tốt (ví dụ như quá trình xây dựng) nên có quyền truy cập/biết mật khẩu.

Cách tiếp cận tệp duy nhất giúp quản lý các khóa đơn giản (chỉ có một) trong khi vẫn cho phép các lợi ích của việc đặt tên mạnh.

+0

Tuyệt vời, tôi nghĩ chúng tôi sẽ thử điều đó. Bạn có thể giải thích cách bạn thêm tệp dưới dạng liên kết không? Tôi không nghĩ mình quen thuộc với tính năng của VS. :) –

+3

Khi bạn thêm, nút được chia với mũi tên ở bên phải. Nhấp vào mũi tên và bạn sẽ thấy "Thêm dưới dạng liên kết" :) –

+0

Ah, tất nhiên. Cảm ơn. :) Nhưng tôi nghĩ rằng chúng tôi sẽ phải sao chép các tập tin .pfx cho các giải pháp/dự án riêng lẻ, bởi vì nó không thể biên dịch dự án nếu mạng bị hỏng và bạn truy cập vào tệp nữa. Cuối cùng, chúng tôi sẽ thay thế "khóa chung" bằng một phiên bản bí mật trong quá trình xây dựng trên TFS. –

6

Hiện tại, chúng tôi sử dụng cùng một khóa mạnh (.SNK) cho mọi dự án trong giải pháp của chúng tôi. Tùy thuộc vào dự án của bạn là cách bạn quản lý các khóa khác nhau cho mỗi dự án.

Nếu bạn muốn bảo mật cao hơn, tôi cho rằng bạn có thể tạo lại khóa cho mọi dự án, nhưng nó sẽ là một cơn ác mộng để quản lý. Hãy nhớ rằng vào cuối ngày, SNK chỉ cho thấy rằng mã đến từ công ty của bạn, và ngăn không cho các hội đồng bị thay đổi, nó không phải là một tính năng bảo mật lớn trong nhà.

Vì lý do đó, bạn nên hạn chế quyền kiểm soát nguồn và xem xét sử dụng máy chủ xây dựng, v.v. nếu bạn không tin tưởng/không muốn nhà phát triển xây dựng mã.

1

Bạn cũng có thể giữ phím tên mạnh trong thư mục ở cấp cơ sở, ở cùng cấp với tất cả các thư mục dự án. Khi bạn chọn tệp này trong thuộc tính dự án -> tab ký, tệp khóa sẽ được sao chép vào thư mục dự án. Xóa tệp này. Mở tệp .csproj trong notepad.Tìm kiếm thẻ sau mykey.snk Chỉnh sửa đường dẫn tệp khóa theo cách thủ công, đảm bảo bạn chỉ định đường dẫn tương đối từ thư mục dự án. Lưu các tập tin. Bây giờ hãy mở thuộc tính dự án trong studio trực quan. Bạn có thể thấy đường dẫn được cập nhật để trỏ đến vị trí chính xác.

+3

Vâng, bản sao trên tham chiếu thêm qua VisualStudio thực sự gây phiền nhiễu !!!!!! –

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