Nombre de usuario de windows con javascript
Hola a todos,
Estoy trabajando en un proyecto de una aplicación web que funcionará en una red local. Sin entrar en mucho detalle,la aplicación tiene dos partes: una parte administradora encargada de mantener una base de datos, y otra para que todos puedan ver esos datos, y dependiendo del usuario que pueda descargarse unos ficheros asociados a esos datos ( Mi parte). Esta parte le he implementado mediante html, javascript y asp por algunas características especiales del visor.
El programa ya está terminado y funciona a las mil maravillas, pero el cliente quiere que cambie el modo de entrada del usuario.
Ahora un usuario tiene que meter su nombre de usuario y contraseña al inicio de la aplicación. Así el sistma sabe que datos puede bajarse y cuales no.
Pero esto no les gusta, no quieren que nadie introduzca su nombre de usuario; prefieren que el el sistema detecte cual es el nombre de usuario de windows con el que el usuario ha accedido al programa.
No se si tal cosa es posible, por lo menos creo que no debería, pero están insistiendo mucho y yo estoy empezando a desesperar.... wink.gif
¿Alguien puede ayudarme?
¡¡¡Muchas gracias!!
Estoy trabajando en un proyecto de una aplicación web que funcionará en una red local. Sin entrar en mucho detalle,la aplicación tiene dos partes: una parte administradora encargada de mantener una base de datos, y otra para que todos puedan ver esos datos, y dependiendo del usuario que pueda descargarse unos ficheros asociados a esos datos ( Mi parte). Esta parte le he implementado mediante html, javascript y asp por algunas características especiales del visor.
El programa ya está terminado y funciona a las mil maravillas, pero el cliente quiere que cambie el modo de entrada del usuario.
Ahora un usuario tiene que meter su nombre de usuario y contraseña al inicio de la aplicación. Así el sistma sabe que datos puede bajarse y cuales no.
Pero esto no les gusta, no quieren que nadie introduzca su nombre de usuario; prefieren que el el sistema detecte cual es el nombre de usuario de windows con el que el usuario ha accedido al programa.
No se si tal cosa es posible, por lo menos creo que no debería, pero están insistiendo mucho y yo estoy empezando a desesperar.... wink.gif
¿Alguien puede ayudarme?
¡¡¡Muchas gracias!!
Con JavaScript puro y duro no puedes. Tendrás que utilizar un elemento externo desde el que JavaScript pueda leer el nombre de usuario.
Dado que es una aplicación corporativa y que se ejecutará presumiblemente en un entorno más o menos controlado, supondré que todos los puestos de trabajo usan Windows XP (u otro tipo de NT) e Internet Explorer para acceder a la aplicación. En ese caso, podrías obtener el nombre de usuario actual accediendo al valor de la variable de entorno %USERNAME%, mediante el siguiente código JavaScript:
var wsh = new ActiveXObject('WScript.Shell');
var usuario = wsh.ExpandEnvironmentStrings('%USERNAME%');
Eso funcionará (creo) con Windows 2000 en adelante.
Dado que es una aplicación corporativa y que se ejecutará presumiblemente en un entorno más o menos controlado, supondré que todos los puestos de trabajo usan Windows XP (u otro tipo de NT) e Internet Explorer para acceder a la aplicación. En ese caso, podrías obtener el nombre de usuario actual accediendo al valor de la variable de entorno %USERNAME%, mediante el siguiente código JavaScript:
var wsh = new ActiveXObject('WScript.Shell');
var usuario = wsh.ExpandEnvironmentStrings('%USERNAME%');
Eso funcionará (creo) con Windows 2000 en adelante.
Una forma alternativa (que puede que incluso funcione mejor): Usar WScript.Network en lugar de WScript.Shell, de esta forma:
var wsh = new ActiveXObject('WScript.Network');
var usuario = wsh.UserName;
var wsh = new ActiveXObject('WScript.Network');
var usuario = wsh.UserName;