Como voce quer apenas o usuario logado na maquina que esta acessando o site, pode usar o seguinte script (que usa sockets). Ele recebe como parametro o endereco IP da maquina que voce quer saber quem esta usando e isso voce pode tirar do REQUEST.
from socket import * def getUserInfoByIP(IP=None): """ Essa funcao estabelece uma conexao com o IP informado na porta 137, envia um pacote especial e espera um pacote que contem username, hostname e dominio como resposta. A seguir extrai essas informacoes e as entrega no formato de dicionario. """ if IP is None: return None HOST = IP PORT = 137 s = socket(AF_INET, SOCK_DGRAM) s.settimeout(2) s.connect((HOST, PORT)) # Envia um pacote especial s.send('\x80b\0\0\0\1\0\0\0\0\0\0 CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\0\0!\0\1') try: data = s.recv(256) except: return None s.close() # Obtem a quantidade de registros contidos no pacote netbios qtdereg = ord(data[56]) # Percorre os registros e obtem dominio, hostname e username dict = {} for i in range(1, qtdereg+1): offset = 18 * i; pos = 57 + offset byte = ord ( data[72 + offset] ) if(byte == 0x00): # Hostname or Domain if not dict.has_key('hostname'): dict['hostname'] = data[pos: pos + 15] if( byte == 0x03): # Username dict['username'] = data[pos: pos + 15] if(byte == 0x1E): # Domain dict['domain'] = data[pos: pos + 15] if(byte == 0x20): # Hostname dict['hostname'] = data[pos: pos + 15] d = {} for k, v in dict.items(): d[k] = v.strip() return d for ip, nome in [('10.10.110.198', 'Fabio'), ('10.10.110.169', 'Rodrigo'), ('10.10.110.197', 'Rafael'), ('10.10.111.153', 'Xiru')]: print nome, getUserInfoByIP(IP=ip) On 9/27/05, Gisele Borges <[EMAIL PROTECTED]> wrote: > Caro Sidnei, > > Tô precisando somente de pegar a variável de ambiente (USERNAME), pois > neste caso o usuário já está logado. > Nós já usamos o NTLM Authetication Proxy, mas não me retorna o username. > > Tem alguma dica? > > Obrigada, > Gi > > > --- Em zope-pt@yahoogrupos.com.br, Sidnei da Silva <[EMAIL PROTECTED]> > escreveu > > On Mon, Sep 26, 2005 at 07:55:05PM -0000, Gisele Borges wrote: > > | É a segunda opção: quero buscar o usuário que está logado na máquina. > > > > Bem ai eh que complica. Um 'script simples' nao resolve o seu > > problema, pq o script roda no servidor e nao na maquina. > > > > Se vc tem: > > > > a) uma rede windows > > b) active directory > > > > E vc quer: > > > > a) autenticar com a mesma senha que logou no windows > > b) sem precisar digitar a senha novamente > > > > Entao o que vc quer eh autenticacao NTLM. > > > > O jeito mais facil de fazer isso eh usar o Enfold Server: > > > > http://www.enfoldsystems.com/Products/Server > > > > O jeito mais dificil eh procurar um tal de 'NTLM Authetication Proxy', > > que eh um proxy escrito em python. > > > > -- > > Sidnei da Silva > > Enfold Systems, LLC. > > http://enfoldsystems.com > > > > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] > Links do Yahoo! Grupos > > > > > > > > > -- Fabiano Weimar dos Santos Plone Developer and Consultant Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html