Làm cách nào để chỉ định tên người dùng và mật khẩu để chương trình của tôi mở được một tệp để đọc? Chương trình cần truy cập vào tệp đang chạy từ tài khoản không có quyền truy cập đọc vào thư mục tệp. Chương trình được viết bằng C# và .NET 2, chạy dưới XP và tệp nằm trên Máy chủ Windows 2003 máy.Cách trình bày thông tin đăng nhập để mở tệp?
Trả lời
Bạn có thể mạo danh người dùng có các quyền cần thiết. Có một số article on MSDN mô tả cách thực hiện việc này.
Bạn muốn mạo danh người dùng có quyền truy cập tệp.
Tôi khuyên bạn nên sử dụng một lớp học như thế này - http://www.codeproject.com/KB/cs/zetaimpersonator.aspx. Nó ẩn tất cả việc thực hiện khó chịu của việc mạo danh.
using (new Impersonator("myUsername", "myDomainname", "myPassword"))
{
string fileText = File.ReadAllText("c:\test.txt");
Console.WriteLine(fileText);
}
Tôi đã sử dụng gói Nuget NuGet Gallery | Simple Impersonation Library 1.1.0 nhưng còn có các gói khác; tìm kiếm Mạo danh cho người khác.
Ví dụ sử dụng bằng cách sử dụng đăng nhập tương tác để làm việc với các cấu trúc file:
using (Impersonation.LogonUser("{domain}",
"{UserName}",
"{Password}",
LogonType.Interactive))
{
var directory = @"\\MyCorpServer.net\alpha\cars";
Assert.IsTrue(Directory.Exists(directory));
}
James' câu trả lời dưới đây là trước khi NuGet và trước khi ông sau này sẽ có các gói download nhiều nhất trên NuGet. Mỉm mai hả?
Đơn giản, cảm ơn rất nhiều! –
- 1. pastebinit cách đăng thông tin đăng nhập bằng thông tin đăng nhập?
- 2. HttpClient.GetAsync với thông tin đăng nhập mạng
- 3. clojure oauth và thông tin đăng nhập
- 4. HttpWebRequest không chuyển Thông tin đăng nhập
- 5. Không thể mở cơ sở dữ liệu được yêu cầu bởi thông tin đăng nhập. Đăng nhập thất bại. Đăng nhập thất bại cho người dùng
- 6. Cách lưu thông tin đăng nhập cục bộ trong android
- 7. Cách nhận thông tin đăng nhập API paypal?
- 8. Bảng Excel nhắc cho Thông tin Đăng nhập SQl
- 9. Cách chỉ định thông tin đăng nhập Windows trong tệp cấu hình máy khách WCF
- 10. Thông tin đăng nhập mặc định cho Virtuoso Conductor
- 11. Danh bạ trên máy khác - Thông tin đăng nhập
- 12. Sự khác nhau giữa thông tin đăng nhập và thông tin đăng nhập trong SQL Server 2008 là gì?
- 13. Sử dụng đường dẫn UNC có thông tin đăng nhập
- 14. WCF - Thông tin đăng nhập & bảo mật tùy chỉnh
- 15. Đăng nhập Facebook dưới dạng bổ sung cho thông tin đăng nhập hiện tại?
- 16. Nơi Jenkins lưu trữ thông tin đăng nhập SVN
- 17. Gửi thông tin đăng nhập thay đổi Subversion Via Hudson
- 18. Cách thiết kế API RESTful để kiểm tra thông tin đăng nhập của người dùng?
- 19. Đăng nhập Android trong ứng dụng của tôi bằng thông tin đăng nhập google
- 20. Team Foundation Server yêu cầu thông tin đăng nhập
- 21. Kiểm tra thông tin đăng nhập từ xa và kiểm tra người dùng đã đăng nhập
- 22. thông tin đăng nhập hardcode trong C# cho Trello api
- 23. git rebase -i trình bày một tập tin MacVim rỗng
- 24. Ghi lại thông tin đăng nhập bằng Spring Security
- 25. Thêm hộp kiểm "Nhớ thông tin đăng nhập của tôi"
- 26. Truy vấn SQL cho thông tin đăng nhập
- 27. Cách lưu trữ thông tin đăng nhập an toàn được nhập trong Tùy chọn ứng dụng?
- 28. Khuôn khổ tốt cho thông tin đăng nhập trong PHP
- 29. Keychain Android cho thông tin đăng nhập của người dùng
- 30. netTcpBinding không có thông tin đăng nhập Windows?
Công trình này tuyệt vời. Tôi thấy các đường dẫn tệp phải ở định dạng UNC nếu nằm trên một máy khác. –
Làm việc cho tôi quá, đã cho tôi một lúc khiến nó hoạt động vì tôi đã bỏ lỡ nhận xét trên trang được tham chiếu: _Xin lưu ý: Ngữ cảnh người dùng khởi tạo mạo danh (tức là không phải ngữ cảnh người dùng mà nó được chuyển sang) cần có bộ đặc quyền "Hành động như một phần của hệ điều hành "._ –
Thật đáng tiếc khi tác giả của tác giả không bao giờ chuyển nó vào Nuget. Câu trả lời của câu trả lời của tôi chỉ có nghĩa là cho vui; cho nó được hiểu rằng bạn đã trả lời 8 năm trước đây trước Nuget. – OmegaMan