miércoles, 8 de febrero de 2012

Identificar UserName de Windows del cliente (IIS, C#, ASP.Net)

El día de hoy planteo un problema que quizá no sea muy común, el hecho es que, si tu tienes un WebSite, y por alguna razón medio extraña quizá quieres conocer el UserName del cliente, debes confugurar tu web site de una manera particular para poder realizarlo (por medio del web.config).


Quizá sonará extraño, pero imaginen, quizá tu quieres agregarle dinamismo a tu web site, quieres que el usuario no tenga que loguearse nunca más, que con el sólo hecho de conectarse a tu web site, pueda accesar a todo (suena algo inseguro, sin duda podría serlo), con el simple hecho de entrar desde su maquina, para esto, primero tendrías que reconocer el usuario que existe en su maquina, y quizá su dominio. Lo anterior no suena muy lógico para web sites colgados en un servidor en la internet, pero para servidores que sólo trabajan en LAN o WAN dentro de una empresa esto es muy útil, ya que tienes un único dominio y los usuarios (usernames) nunca se repiten, y cada persona sólo puede loguearse en su propia máquina, o quizá en otra pero creando forzosamente una nueva cuenta en la misma.


Bien, para obtener acceso a estos datos necesitamos únicamente el HttpContext:

Request.ServerVariables["LOGON_USER"]


Ahora imagina que tienes una Label por ahi llamada Label1, observa todo lo que puedes obtener del cliente con el codigo siguiente:


for (int i = 0; i < HttpContext.Current.Request.ServerVariables.Count; i++)
        {
            this.Label1.Text += HttpContext.Current.Request.ServerVariables.Keys[i];
            this.Label1.Text += " :";
            this.Label1.Text += HttpContext.Current.Request.ServerVariables[i];
            this.Label1.Text += "<br />";
        }
Pero por supuesto, para poder hacer que esto no regrese cadenas vacías necesitas configurar de manera adecuada el web.config. Abre tu Web.config e ingresa o cambia las siguiente etiquetas, según el caso:


<authentication mode="Windows"/>

    <authorization>
      <deny users="?"/> <!--Acceso denegado a usuarios anónimos-->
    </authorization>




Te interesará: http://hzsquare.blogspot.com/2011/12/crear-website-con-iis-70-y-aspnet-40.html




Fuente: 


http://support.microsoft.com/kb/306359/es




Etiquetas:
  • LOGON_USER, REMOTE_USER, AUTH_USER Aparece vacío
  • Reconocer UserName de Windows del cliente
  • Conocer UserName del cliente
  • username del cliente
  • <authentication mode="Windows"/>
  • Reconocer login del cliente
  • Reconocer username, c#

No hay comentarios:

Publicar un comentario