Bất kỳ ai có thể cho tôi biết cách xác thực người dùng (người dùng SVN) cho một kho lưu trữ bằng Thư viện SharpSVN. Kho lưu trữ đó chỉ nên được những người dùng đó cam kết. Cảm ơnXác thực Kho SVN bằng SharpSVN
Trả lời
Sử dụng các thuộc tính Authenticate của SVNClient
:
client.Authentication.Clear(); // Clear a previous authentication
client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "password");
Bạn cũng có thể ghi đè lên lỗi chứng chỉ SSL bằng cách thêm một event handler để SslServerTrustHandlers
như thế này:
SVN_Conn.Authentication.SslServerTrustHandlers += new EventHandler<SharpSvn.Security.SvnSslServerTrustEventArgs>(SVN_SSL_Override);
static void SVN_SSL_Override(object sender, SharpSvn.Security.SvnSslServerTrustEventArgs e)
{
e.AcceptedFailures = e.Failures;
e.Save = true;
}
Chỉ để nó được đề cập: Không gọi 'client.authentication.clear()' sau khi đăng ký sự kiện, nếu không nó sẽ không kích hoạt. – SanBen
client.Authentication.ForceCredentials("user", "password");
Đối với những người những người không muốn thổi đi các thông tin đăng nhập mặc định của bạn (nếu bạn đang chạy TortoiseSVN trên cùng một máy).
Trong trường hợp của tôi, máy chủ SVN đang chạy VisualSVN Server 3.5.3 với Xác thực Windows tích hợp được bật. Sử dụng SharpSvn 1.9004.3879.127, khách hàng SVN cố gắng sử dụng Windows authentication ngay cả khi tôi cấu hình nó với một tên người dùng và mật khẩu:
client = new SvnClient();
client.Authentication.Clear(); //Prevents saving/loading config to/from disk
client.Authentication.DefaultCredentials = new NetworkCredential("username", "password");
Điều này dẫn đến các lỗi sau khi mã ứng dụng được điều hành bởi một người dùng Windows mà didn 't có quyền truy cập vào kho lưu trữ:
SvnRepositoryIOException: Không thể kết nối với một kho lưu trữ tại URL' https://mysvnserver/svn/reponame '
tôi cố định này bằng cách only allowing basic
and digest
authentication:
client = new SvnClient();
client.Configuration.SetOption("servers", "global", "http-auth-types", "basic;digest");
client.Authentication.Clear(); // Prevents saving/loading config to/from disk
client.Authentication.DefaultCredentials = new NetworkCredential("username", "password");
- 1. Thêm tệp bằng SharpSVN
- 2. Làm thế nào tôi có thể tạo một nhánh trong svn bằng cách sử dụng SharpSVN
- 3. Lỗi xác thực với SVN trong Jenkins
- 4. tạo lại kho svn
- 5. SharpSVN đọc TẤT CẢ tên tập tin
- 6. svn-checkout từ kho GIT
- 7. Xuất kho git sang svn
- 8. Thay đổi SVN URL kho
- 9. Di chuyển thư mục trên kho SVN bằng cách sử dụng Tortoise SVN
- 10. Sử dụng LDAP để xác thực người dùng SVN
- 11. sự khác biệt giữa kho svn rùa và kho lưu trữ svn trực quan là gì?
- 12. Kiểm tra kho svn mà không cần tệp .svn
- 13. SharpSvn: Nhận cấu trúc kho lưu trữ và các tệp riêng lẻ
- 14. Cách quản lý kho svn trong xcode
- 15. Tôi mất kho SVN của tôi
- 16. Kho lưu trữ svn lồng nhau
- 17. Cách lấy danh sách các tệp đã thay đổi trong SharpSVN (như svn diff --summarize --xml)
- 18. đặt bí danh cho kho svn
- 19. Xóa thư mục khỏi kho svn
- 20. Liệt kê tất cả các kho SVN
- 21. Kết hợp nhiều kho SVN vào một
- 22. kho svn trên chia sẻ mạng Windows
- 23. Kho SVN Gương [Ghi thông qua proxy]
- 24. Xác thực NTLM bằng Python
- 25. Cập nhật một gương git của một kho SVN
- 26. Cam kết không thành công: xác thực svn: hủy bỏ
- 27. Sử dụng SharpSvn để truy xuất các mục nhập nhật ký trong phạm vi ngày
- 28. Chương trình Ví dụ SharpSVN Tai nạn
- 29. JGIT xác thực nếu kho lưu trữ hợp lệ
- 30. Làm cách nào để xác định loại kho lưu trữ SVN mà tôi có?
Nên được đánh dấu là câu trả lời hay nhất. Làm việc cho tôi quá, cảm ơn! – jocull
có làm việc cho tôi quá cảm ơn Bertrand :) – picnic4u
Điều này không làm việc cho tôi, có điều kiện tiên quyết nào cho điều này không? –