2012-01-23 19 views
6

Nella mia applicazione MVC voglio eseguire il rendering di una tabella in un file cshtml, se l'utente di accesso corrente è x persona. Sto usando l'autenticazione di Windows e ho apportato le seguenti modifiche nel file web.config.Autenticazione di Windows: acquisizione del nome utente corrente

<authentication mode="Windows"> 
     </authentication> 

E nel mio controller quando sto cercando di accedere al nome utente corrente Non ricevo qualsiasi nome utente. Sto cercando quanto segue:

ViewBag.LogInUserName = Request.RequestContext.HttpContext.User.Identity.Name; 

Questa riga precedente funzionava prima. Ma non so cosa c'è di sbagliato ora. Inoltre ho ospitato la mia applicazione su IIS ora.

risposta

11

È necessario inserire l'attributo [Authorize] sul controller.

È possibile utilizzare User.Identity.Name nei controller.

[Authorize] 
public class YourController : Controller 
{ 

    public ActionResult SomeAction() 
    { 
     var userName = User.Identity.Name; 
    } 
} 
+0

Grazie per l'aiuto. Puoi solo mostrare come posso riuscirci. – Jash

+0

@ Jash: leggi il mio aggiornamento. – jgauffin

+0

Ho appena modificato le proprietà del mio progetto Web per utilizzare il server di sviluppo Asp.Net. E ora sono in grado di recuperare il registro corrente nel nome utente. Quindi il problema è quando sto ospitando il mio progetto web su IIS. Qualche idea? – Jash

1

Un po 'in ritardo, ma questo può servire ad altri in futuro.

Ho avuto lo stesso problema una volta dopo aver distribuito il mio sito su un nuovo server IIS e l'autenticazione anonima era abilitata, quindi assicurati che l'autenticazione anonima sia disabilitata e che dovrebbe funzionare.

11

Date un'occhiata proprietà del progetto web, in particolare:

  1. autenticazione anonima - Impostare su "Disabilitato"
  2. autenticazione di Windows - impostato su "Enabled"

Per impostazione predefinita questi sono impostati al contrario di quello che stai probabilmente cercando.

Web project properties

(Immagine provenienti da MSDN)

Problemi correlati