Obtener ID de usuario e IP logeado en la pc desde C#

05/10/2006 - 18:42 por Rick | Informe spam
Que tal listeros!!

Alguien tiene un ejemplo o sabe dnd podre encontrar algo al respecto?

Saludos!!

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
05/10/2006 - 19:16 | Informe spam
"Rick" wrote in message
news:%
[Obtener ID de usuario e IP logeado en la pc desde C#]
Alguien tiene un ejemplo o sabe dnd podre encontrar algo al respecto?



Estoo ¿más detalles? ¿A qué te refieres con "ID" de usuario? ¿IP
logeado? ¿Qué quiere decir "logueado", y dónde? ¿Es una aplicación Windows o
Web? "Usuario" es la persona que "ve" la interfaz de la aplicación, o es el
usuario de sistema que la ejecuta (usualmente iguales en Windows, pero
normalmente distintos en Web). Si es el primer caso (la persona que "ve" la
interfaz), ¿qué sistema estás usando para autentificar al usuario desde el
servidor (el sitio donde se ejecuta tu C#)?
Respuesta Responder a este mensaje
#2 Rick
06/10/2006 - 15:51 | Informe spam
ok, id de usuario es el username que usaste para iniciar tu sesion en la PC
ip logeado = ip de esa misma PC
aplicacion tipo windows usando C#
para logearse puede ser que ese usuario se autentifique contra un dominio de
AD (active directory), mas no necesariamente, por eso pregunto, no se si
aunque se autentifique o no contra un dominio se deba manejar de distinta
manera el "como" buscar quien es el usuario





"Alberto Poblacion"
escribió en el mensaje news:
"Rick" wrote in message
news:%
[Obtener ID de usuario e IP logeado en la pc desde C#]
Alguien tiene un ejemplo o sabe dnd podre encontrar algo al respecto?



Estoo ¿más detalles? ¿A qué te refieres con "ID" de usuario? ¿IP
logeado? ¿Qué quiere decir "logueado", y dónde? ¿Es una aplicación Windows
o Web? "Usuario" es la persona que "ve" la interfaz de la aplicación, o es
el usuario de sistema que la ejecuta (usualmente iguales en Windows, pero
normalmente distintos en Web). Si es el primer caso (la persona que "ve"
la interfaz), ¿qué sistema estás usando para autentificar al usuario desde
el servidor (el sitio donde se ejecuta tu C#)?


Respuesta Responder a este mensaje
#3 Alberto Poblacion
06/10/2006 - 18:38 | Informe spam
"Rick" wrote in message
news:
ok, id de usuario es el username que usaste para iniciar tu sesion en la
PC
ip logeado = ip de esa misma PC
aplicacion tipo windows usando C#
para logearse puede ser que ese usuario se autentifique contra un dominio
de AD (active directory), mas no necesariamente, por eso pregunto, no se
si aunque se autentifique o no contra un dominio se deba manejar de
distinta manera el "como" buscar quien es el usuario



Vale, entendido. Para aplicación tipo Windows:

WindowsIdentity identidad = WindowsIdentity.GetCurrent();
string IDdeUsuario = identidad.Name;

Funciona tanto si es un usuario de dominio como si es local.

La IP del propio PC es un poco más compleja porque el mismo PC puede
tener varios adaptadores de red con una o varias IPs en cada uno de ellos.
Una forma de buscar las IPs consiste en usar el DNS:

string hostName = Dns.GetHostName();
Console.WriteLine("Host Name = " + hostName);
IPHostEntry local = Dns.GetHostByName(hostName);
foreach(IPAddress ipaddress in local.AddressList)
{
Console.WriteLine("IPAddress = " + ipaddress.ToString());
}


Otra forma de enumerarlas es utilizando WMI:

string query = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE
IPEnabled = 'TRUE'";
ManagementObjectSearcher moSearch = new ManagementObjectSearcher(query);
ManagementObjectCollection moCollection = moSearch.Get();

foreach(ManagementObject mo in moCollection)
{
Console.WriteLine("HostName = " + mo["DNSHostName"]);
Console.WriteLine("Description = " + mo["Description"]);

string[] addresses = (string[])mo["IPAddress"];
foreach(string ipaddress in addresses)
{
Console.WriteLine("IPAddress = " + ipaddress);
}
}
Respuesta Responder a este mensaje
#4 Rick
06/10/2006 - 22:15 | Informe spam
Muchas gracias Alberto!!!


"Alberto Poblacion"
escribió en el mensaje news:uUGU$
"Rick" wrote in message
news:
ok, id de usuario es el username que usaste para iniciar tu sesion en la
PC
ip logeado = ip de esa misma PC
aplicacion tipo windows usando C#
para logearse puede ser que ese usuario se autentifique contra un dominio
de AD (active directory), mas no necesariamente, por eso pregunto, no se
si aunque se autentifique o no contra un dominio se deba manejar de
distinta manera el "como" buscar quien es el usuario



Vale, entendido. Para aplicación tipo Windows:

WindowsIdentity identidad = WindowsIdentity.GetCurrent();
string IDdeUsuario = identidad.Name;

Funciona tanto si es un usuario de dominio como si es local.

La IP del propio PC es un poco más compleja porque el mismo PC puede
tener varios adaptadores de red con una o varias IPs en cada uno de ellos.
Una forma de buscar las IPs consiste en usar el DNS:

string hostName = Dns.GetHostName();
Console.WriteLine("Host Name = " + hostName);
IPHostEntry local = Dns.GetHostByName(hostName);
foreach(IPAddress ipaddress in local.AddressList)
{
Console.WriteLine("IPAddress = " + ipaddress.ToString());
}


Otra forma de enumerarlas es utilizando WMI:

string query = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE
IPEnabled = 'TRUE'";
ManagementObjectSearcher moSearch = new ManagementObjectSearcher(query);
ManagementObjectCollection moCollection = moSearch.Get();

foreach(ManagementObject mo in moCollection)
{
Console.WriteLine("HostName = " + mo["DNSHostName"]);
Console.WriteLine("Description = " + mo["Description"]);

string[] addresses = (string[])mo["IPAddress"];
foreach(string ipaddress in addresses)
{
Console.WriteLine("IPAddress = " + ipaddress);
}
}



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida