Node.Js-Aktuellen Windows-Benutzernamen abrufen

7

Ich habe ein ASP.Net MVC-Projekt, und ich versuche, den Client-Windows-Benutzernamen zu erhalten (die Client-Seite läuft immer auf Windows-Rechner) und übergibt den Windows-Benutzernamen mit Node.JS an die Server-Seite. Wie kann ich den aktuellen Windows-Benutzernamen mit node.js erhalten? Ich versuche, etwas ähnlich wie WindowsIdentity.GetCurrent () zu finden. Name in C # für node.js oder whoamI Befehl in CMD.

    
Benjamin 12.01.2015, 04:02
quelle

5 Antworten

14

Um den aktuell angemeldeten Benutzernamen zu erhalten:

%Vor%     
Karthik M 12.02.2015, 16:30
quelle
7

Ich verstehe, dass dies den Client-Benutzer einer Web-App nicht wie OP gefragt, aber diese Frage ist sehr hoch in den Suchergebnissen für den Versuch, den angemeldeten Benutzer beim lokalen Ausführen einer Knoten-Anwendung zu erhalten.

Sie können die <domain>\<username> Ausgabe von whoamI und WindowsIdentity.GetCurrent() mit Umgebungsvariablen in Windows reproduzieren.

process.env.USERDOMAIN + '\' + process.env.USERNAME

Wenn Sie lieber USERPROFILE verwenden möchten:

process.env.USERDOMAIN + '\' + process.env.USERPROFILE.split('\').pop()

    
davidmdem 03.06.2015 16:03
quelle
4

Obwohl der Knoten über die integrierte Betriebssystemfunktion os und die os.hostname() verfügt, um den Hostnamen zurückzugeben, müssen Sie auf den Hostnamen des Clients in ASP.NET oder der Sprache Ihrer Wahl zugreifen. Sie können das nicht im Knoten tun, da es auf der Serverseite läuft und nichts mit den lokalen Informationen des Clients zu tun hat.

%Vor%

Sehen Sie sich diese Frage an

Bestimmen Sie den Computernamen des Kunden

GET CLIENT-HOST-NAME IN DER ASP.NET-CLIENTSEITE VON AKA

System.Net.Dns.GetHostEntry( Request.ServerVariables["REMOTE_HOST"]).HostName;

Löffelbecher für den Faulenzer

%Vor%

MICROSOFT DOKUMENTATION

    
Rafael 12.01.2015 04:10
quelle
2

Jemand hat ein Modul namens Nutzername erstellt, das all die harte Arbeit für Sie erledigt.

Sie verwenden es wie

%Vor%     
Jared 24.08.2016 01:53
quelle
1

Ich glaube, Sie geben an, dass Sie eine Asp.NET-Anwendung haben und Node.js verwenden möchten, um den Benutzernamen des aktuellen Benutzers zu ermitteln und dann an Ihre Asp.NET-Anwendung zu senden.

Ich entwickle nicht auf Windows obwohl von diese Frage Ich glaube das kann als Umgebungsvariable gespeichert werden. process.env ist eine Javascript Map / dict von Umgebungsvariablen und enthält wahrscheinlich den Benutzernamen des Benutzers.

Alternativ können Sie es auch vom Basisverzeichnis des Benutzers aus analysieren:

var path = require('path'); var username = path.sep(process.env['USERPROFILE'])[2];

Die oben verlinkte Frage impliziert, dass USERPROFILE in C:\Users\USERNAME\ aufgelöst wird. Ich teile dann den Pfad und nimm das 3. Element, das der Benutzername ist.

Auch hier habe ich keine Windows-Maschine und konnte das nicht bestätigen. Hoffe, das setzt dich aber auf den richtigen Weg.

Prost.

    
Dawson 12.01.2015 04:21
quelle

Tags und Links