Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    [c#] rilevare nome utente active directory

    Ciao a tutti.

    è possibile rilevare nome utente active directory in asp.net con c#?

    il vecchio Request.ServerVariables("LOGON_USER") che usavo con ASP non funziona ....

    Grazie.
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Spostato in ASP.NET.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539

    Re: [c#] rilevare nome utente active directory

    Originariamente inviato da yro
    Ciao a tutti.

    è possibile rilevare nome utente active directory in asp.net con c#?

    il vecchio Request.ServerVariables("LOGON_USER") che usavo con ASP non funziona ....

    Grazie.
    Ciao, se usi l'autenticazione di windows lo trovi sotto User (della Page), in particolare il nome lo ricavi da : User.Identity.Name.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Io uso questo (Windows Autentication):

    C#
    codice:
      string NomeUtente = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

  5. #5
    autenticazione di windows o no, l'utente della macchina che sta effettaundo la richiesta, deve esserci comunque.

    Quello che dice djciko va benissimo

    Ma non mi torna che tu non riesca a leggerlo nella vecchia maniera.
    Allora fai questo:
    nelle direttive della pagina aggiungi Trace="true" (temporaneo)
    Richiama la pagina dal browser e vedrai che in coda ci sono tutte le informazioni utilissime.
    In fondo trovi tra le variabili del server la "LOGON_USER"

    a me
    Request.ServerVariables["LOGON_USER"].ToString();
    funziona (nota le parentesi quadre però)

    ciao

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da Gluck74
    autenticazione di windows o no, l'utente della macchina che sta effettaundo la richiesta, deve esserci comunque.

    Quello che dice djciko va benissimo

    Ma non mi torna che tu non riesca a leggerlo nella vecchia maniera.
    Allora fai questo:
    nelle direttive della pagina aggiungi Trace="true" (temporaneo)
    Richiama la pagina dal browser e vedrai che in coda ci sono tutte le informazioni utilissime.
    In fondo trovi tra le variabili del server la "LOGON_USER"

    a me
    Request.ServerVariables["LOGON_USER"].ToString();
    funziona (nota le parentesi quadre però)

    ciao
    ciao, non esattamente, è in base all'autorizzazione:
    microsoft
    se non ti autentifichi con windows, non credo possa ottenere l'utente active directry.

    @djciko
    c'è differenza tra le due?
    so che restituiscono la stessa cosa, ma mi chiedevo come mai due modi per la stessa cosa, c'è qualche differenza che tu sappia?

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Sono quasi certo che se l'utente non è autenticato, la classe User non puo' essere usata perche' l'utente non è ancora "nato".

    Nel Global.asax, metodo Application_AuthenticateRequest:

    VB:
    codice:
    If Context.Request.IsAuthenticated Then
        ' Operazioni varie      
    Else
        Response.Write(HttpContext.Current.User.Identity.Name) <--- NullReferenceException
    End If
    @yro:
    Come ha detto Gluck, abilita il trace e guarda tutte le Servariables, c'e' quella che fa al caso tuo di sicuro.

  8. #8
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da djciko
    Sono quasi certo che se l'utente non è autenticato, la classe User non puo' essere usata perche' l'utente non è ancora "nato".

    Nel Global.asax, metodo Application_AuthenticateRequest:

    VB:
    codice:
    If Context.Request.IsAuthenticated Then
        ' Operazioni varie      
    Else
        Response.Write(HttpContext.Current.User.Identity.Name) <--- NullReferenceException
    End If
    @yro:
    Come ha detto Gluck, abilita il trace e guarda tutte le Servariables, c'e' quella che fa al caso tuo di sicuro.
    grazie

    stavo leggendo qualcosa a riguardo, da quello che ho capito, System.Security.Principal.WindowsIdentity.GetCurre nt() restitusce l'identità rappresentata da iis per eseguire il processo (es IUSR_MACHINENAME o NETWORK SERVICE), o in caso usi inpersonate, l'utente impersonato.
    microsoft

    comunque per le servervariables deve essere logato, se no non trova nulla, e nel caso faccia login, per sapere l'utente in active directory deve usare aut. windows

  9. #9
    si, scusate, non sono stato molto preciso.
    Il fatto è che il server di sviluppo di VisualStudio, funziona in modo tale che il "LOGON_USER" è sempre valorizzato.

    Mentre normalmente bisogna abilitare l'autenticazione windows su IIS
    (vedi figura)
    Immagini allegate Immagini allegate

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Gluck, ho un problema di pubblicazione ed ho provato cio' che dici, abilitando il trace per vedere le variabili ed abilitando l'autenticazione WINDOWS da IIS per l'applicativo E PER LA ROOT. (o basta solo l'applicativo?).

    Perche' continua a darmi NT AUTHORITY\NETWORK SERVICE invece del nome utente della macchina client che si è connessa ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.