2012-11-04 44 views
5

Trong IIS, tôi có một dịch vụ web chạy trong một nhóm ứng dụng có nhận dạng của người dùng có quyền truy cập vào một ổ đĩa trên máy từ xa. Bằng cách này, khi dịch vụ web chạy và nó cố truy cập máy từ xa để đọc tệp, chúng tôi không nhận được bất kỳ lỗi ủy quyền không hợp lệ nào.Cách truy cập ổ đĩa mạng chia sẻ trong node.js

Tôi hiện đã viết ứng dụng Node.js đầu tiên của mình nhưng tôi không chắc chắn cách cho phép truy cập luồng tệp từ ứng dụng đến máy từ xa. Tôi có tên đường dẫn đến file của máy từ xa mà tôi muốn đọc nhưng tôi không chắc liệu mình có phải vượt qua các thông tin của người dùng để truy cập vào tập tin hay không, tôi phải chạy ứng dụng Node.js dưới các thông tin xác thực nhất định.

Bất kỳ manh mối nào?

Tôi biết có nút cho IIS, nhưng có một cách khác để làm điều này mà không cần IIS.

Cập nhật:

Chỉ cần chạy ứng dụng của tôi trong tài khoản của tôi người dùng và tài khoản này được cấu hình để cho phép truy cập đến một máy từ xa và tôi có quyền truy cập vào máy tính từ xa mà không thay đổi mã của tôi (nói cách khác chỉ sử dụng đường dẫn Unc trực tiếp). Tuy nhiên, làm cách nào tôi có thể thực hiện việc này bằng thông tin đăng nhập của người dùng khác (ví dụ: mạo danh trong Node.js?)

+0

Tôi không phải là người Windows, nhưng bạn không thể rời khỏi nút và thay vào đó ánh xạ ổ đĩa từ xa/mạng như ổ đĩa cục bộ (Z: v.v.) và sau đó truy cập nó bằng các phương thức hệ thống tệp cục bộ truyền thống trong nodej? (giả sử tôi hiểu câu hỏi của bạn một cách chính xác). – ravi

Trả lời

1

Nút không xử lý mạo danh như ứng dụng .NET, vì NodeJS không phải là Windows cụ thể nên không biết về cửa sổ cách xử lý quyền và độ cao.

Nhưng đó không phải là vấn đề. Tôi đã sử dụng kỹ thuật sau đây trên các mạng tài chính lớn.

Như bạn đã chỉ ra chính mình, giải pháp tốt nhất là có một tài khoản người dùng chuyên dụng cho ứng dụng nodeJS của bạn với đầy đủ quyền truy cập UNC, nhưng không có các quyền khác. Sau đó, khi bạn chạy ứng dụng, hãy chạy nó như người dùng này.

Hãy để tôi đề xuất rằng bạn thiết lập dịch vụ để chạy ứng dụng nodejs và trong dịch vụ chỉ định tài khoản người dùng. Điều này làm cho nó dễ dàng hơn và an toàn hơn nhiều. Nếu ứng dụng của bạn bị hack, hacker sẽ không thể thoát khỏi các hạn chế của tài khoản.

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