JavaScript - Comment obtenir le nom de l'utilisateur actuel
Je me demandais comment je pourrais obtenir le nom de l'utilisateur actuel en JavaScript dans le cadre d'un document HTML.
En Java, on aura System.getProperty("user.name");
pour atteindre cet objectif. Qu'est-ce que l'alternative à ce dans le JavaScript?
- Utilisateur courant? C'est un énorme risque de sécurité lorsque c'est possible en JavaScript.
- Nom d'utilisateur en contexte pour quoi ?
- Lorsque vous êtes connecté à votre ordinateur, vous avez un nom d'utilisateur. C'est ce que je souhaite obtenir.
- Comment voulez-vous que l'utilisateur actuel pour être ensemble? Cela peut être un doublon de stackoverflow.com/questions/2604399/... ou pour les autres (et la réponse est, en général, vous ne pouvez pas ... à moins que vous contrôlez le côté serveur et souhaitez intégrer comme javascript ou ne pas) ou peut-être un doublon de stackoverflow.com/questions/2604399/... (à noter que, si je comprends au moins l'une des réponses, cela ne fonctionnera pas, sauf si vous êtes en cours d'exécution du javascript comme une extension de firefox sur)
Vous devez vous connecter pour publier un commentaire.
JavaScript s'exécute dans le contexte du document HTML en cours, afin de ne pas être en mesure de déterminer quoi que ce soit à propos d'un utilisateur en cours, sauf si c'est dans la page en cours ou de vous faire des appels AJAX vers un script côté serveur pour obtenir plus d'informations.
JavaScript ne sera pas en mesure de déterminer votre nom d'utilisateur Windows.
Il n'y a pas de entièrement compatible alternative à JavaScript, il possède un dangereux problème de sécurité pour permettre à du code côté client à prendre conscience de l'utilisateur connecté.
Cela dit, le code suivant devrait vous permettre d'obtenir la consignées dans le nom d'utilisateur, mais il ne fonctionne que sur Windows, et uniquement dans Internet Explorer, car il rend l'utilisation de l'ActiveX. Internet Explorer sera probablement afficher un popup vous alerter sur les problèmes de sécurité potentiels associés à l'utilisation de ce code, ce qui n'est pas exactement aider à la convivialité.
Comme Surréaliste Rêves suggéré que vous pourriez utiliser AJAX pour appeler un serveur-côté de la méthode qui sert dos de l'utilisateur, ou de rendre le code HTML avec un caché d'entrée avec une valeur de l'utilisateur connecté, par exemple, pour
(ASP.NET MVC 3 syntaxe)
Si le script s'exécute sur Microsoft Windows dans une HTA ou similaire, vous pouvez le faire:
Sinon, comme d'autres l'ont fait, vous êtes hors de la chance. C'est une information privée et n'est pas fourni par le navigateur pour le moteur javascript.
Je pense n'est pas possible de le faire. Ce serait un énorme risque de sécurité si un navigateur l'accès à ce genre de renseignements personnels
De travail pour moi sur IE:
<script type="text/javascript">
var WinNetwork = new ActiveXObject("WScript.Network");
document.write(WinNetwork.UserName);
</script>
...mais les contrôles ActiveX doit être activée dans les paramètres de sécurité.