Tôi có dự án ASP.Net MVC và tôi đang cố gắng lấy tên người dùng cửa sổ máy khách (phía máy khách luôn chạy trên máy Windows) và chuyển tên người dùng cửa sổ sang phía máy chủ sử dụng Node.JS. Làm cách nào để có được tên người dùng cửa sổ hiện tại bằng cách sử dụng node.js? Tôi đang cố gắng tìm một cái gì đó tương tự như WindowsIdentity.GetCurrent(). Tên trong C# cho node.js hoặc lệnh whoamI trong CMD.Node.Js-Bắt tên người dùng cửa sổ hiện tại
Trả lời
Để có được hiện tại đăng nhập username:
var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
Mặc dù nút có chức năng hệ điều hành được xây dựng os
và os.hostname()
để trả lại tên máy chủ, bạn sẽ cần truy cập tên máy chủ của máy khách trong ASP.NET hoặc ngôn ngữ bạn chọn. Bạn không thể làm điều đó trong nút vì nó đang chạy ở phía máy chủ và không có gì để làm với thông tin địa phương của khách hàng.
> require('os')
> os.hostname()
Nhìn vào câu hỏi này
Determine Client's Computer Name
GET KHÁCH HÀNG HOST NAME trong ASP.NET AKA KHÁCH HÀNG PHỤ
System.Net.Dns.GetHostEntry(Request.ServerVariables["REMOTE_HOST"]).HostName;
muỗng FEED cho lười biếng
string IP = Request.UserHostName;
string compName = CompNameHelper.DetermineCompName(IP);
code from compnamehelper:
public static string DetermineCompName(string IP)
{
IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
return compName.First();
}
Được bỏ phiếu vì bạn dường như đã xem xét những gì đang được hỏi. Anh ấy đang tìm kiếm tên người dùng hiện tại. – Dawson
Bỏ phiếu bầu đã bị xóa. Tôi cho rằng anh ta sẽ có khách hàng của mình chạy nút ... Tôi dường như không hiểu trường hợp sử dụng mà anh ta đang làm. – Dawson
Cảm ơn bạn đã trả lời, tuy nhiên Os.hostname trả về tên máy tính, không phải là userID trong Active Directory. – Benjamin
Tôi tin rằng bạn đang nói rằng bạn có một ứng dụng Asp.NET, và muốn sử dụng Node.js để xác định người dùng hiện tại username, và sau đó trình ASP của bạn. Ứng dụng NET.
Tôi không phát triển trên Windows mặc dù từ this question Tôi tin rằng điều này có thể được lưu trữ dưới dạng biến môi trường. process.env
là một bản đồ javascript/dict của các biến môi trường và có khả năng chứa tên người dùng.
Hoặc bạn có thể phân tích nó từ thư mục người dùng gia đình như vậy:
var path = require('path'); var username = path.sep(process.env['USERPROFILE'])[2];
Các câu hỏi tôi liên kết ở trên ngụ ý rằng USERPROFILE
quyết tâm C:\Users\USERNAME\
. Sau đó tôi chia đường dẫn và lấy phần tử thứ 3, làm tên người dùng.
Một lần nữa, tôi không có máy tính cửa sổ và không thể xác nhận điều này. Hy vọng điều này đặt bạn xuống con đường bên phải mặc dù.
Chúc mừng.
Tôi hiểu rằng điều này sẽ không cung cấp cho người sử dụng khách hàng của một ứng dụng web như OP hỏi, nhưng câu hỏi này là rất cao trong kết quả tìm kiếm cố gắng để có được người dùng đã đăng nhập khi chạy một ứng dụng Node cục bộ.
Bạn có thể tái tạo các <domain>\<username>
sản lượng whoamI
và WindowsIdentity.GetCurrent()
với các biến môi trường trong Windows.
process.env.USERDOMAIN + '\\' + process.env.USERNAME
Nếu bạn muốn sử dụng USERPROFILE
:
process.env.USERDOMAIN + '\\' + process.env.USERPROFILE.split('\\').pop()
Có người đã tạo ra một module gọi username mà làm tất cả các công việc khó khăn cho bạn.
Bạn sử dụng nó như
var username = require('username');
console.log(username.sync());
- 1. Tìm tên người dùng cửa sổ trong R
- 2. Làm cách nào để nhận tên người dùng cửa sổ hiện tại ở định dạng tên miền @ tên miền?
- 3. Nhận tên người dùng hiện tại
- 4. Nhận tên người dùng Windows của người dùng hiện tại bằng cách sử dụng php?
- 5. Xác thực Windows - Nhận tên người dùng hiện tại
- 6. Tên người dùng hiện tại của tài sản Maven?
- 7. JavaScript - Cách lấy tên của người dùng hiện tại
- 8. Nhận tên người dùng hiện tại bằng C++ trên Windows
- 9. Cách lấy tên người dùng hiện tại bằng Meteor
- 10. Lấy tên và họ của người dùng Windows hiện tại?
- 11. Bắt tên người dùng hiện tại khi mạo nhận
- 12. Nhận tên người dùng hiện tại ở Julia (Linux)
- 13. mở cửa sổ điều khiển người dùng WPF Winform co mẹ Winform cửa sổ
- 14. Tìm hiểu tên người dùng của người dùng hiện tại trong Windows trong Haskell?
- 15. MVC3 + Cách lấy tên người dùng hiện tại đã đăng nhập của người dùng
- 16. Phát hiện tên người dùng từ ID tiến trình
- 17. chuyển Cửa sổ hiện tại làm CommandParameter
- 18. VS Cửa sổ ngay lập tức - Tên không tồn tại trong ngữ cảnh hiện tại
- 19. Phóng to cửa sổ theo lập trình và ngăn người dùng thay đổi cửa sổ
- 20. Cách ẩn Cửa sổ bật lên Gtk khi người dùng nhấp vào bên ngoài cửa sổ
- 21. PushFrame khóa cửa sổ WPF khi người dùng đang di chuyển cửa sổ
- 22. Người dùng hiện tại trong Magento?
- 23. trong Qt, Làm cách nào để đặt cửa sổ là cửa sổ hiện tại?
- 24. Khởi chạy SweetAlert để ngăn người dùng đóng cửa sổ
- 25. JBoss HornetQ: Đặt kích thước cửa sổ người tiêu dùng cho người tiêu dùng chậm
- 26. PySide/PyQt phát hiện nếu người dùng cố gắng đóng cửa sổ
- 27. Phát hiện cửa sổ bật lên trước khi người dùng đăng nhập
- 28. Làm cách nào để tôi có thể nhận người dùng cửa sổ đăng nhập hiện tại trong Access VBA?
- 29. Dịch vụ WiXCài đặt - cài đặt dịch vụ để chạy khi người dùng cửa sổ hiện tại
- 30. Tên người quản lý cửa sổ cho Windows
Nó không phải là lần đầu tiên rõ ràng ở đây khi bạn đang sử dụng các cửa sổ hạn bạn đang đề cập đến hệ điều hành. – Dawson
Tên người dùng Windows hiện tại không phải là những gì bạn muốn (đó sẽ là người dùng đang chạy quy trình máy chủ). Bạn cần xác thực NTLM. – SLaks