Domanda

io sono un po 'confuso durante il tentativo di scoprire come ActiveDirectory e di lavoro di appartenenza ASP.NET ... Ho creato un nuovo progetto MVC e rimosso le AccountController / Vista. Ho cambiato il web.config in modo che utilizzi ActiveDirectory e automaticamente l'autenticazione degli utenti in base alla loro corrente di login di Windows:

web.config

<authentication mode="Windows">
    <forms
    name=".ADAuthCookie"
    timeout="10" />
</authentication>

<membership defaultProvider="MyADMembershipProvider">
  <providers>
    <clear/>
      <add
         name="MyADMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         connectionStringName="ADConnectionString"
         connectionUsername="MYDOMAIN\myuser"
         connectionPassword="xxx"
         />
  </providers>                 
</membership>

Questo funziona bene, come posso fare quanto segue per ottenere gli utenti nome utente in questo:

User.Idenity.Name()  'Gives MYDOMAIN\myuser

Guardando il seguente, in realtà mi rende confuso:

Threading.Thread.CurrentPrincipal.Identity.Name() 'Gives MYDOMAIN\myuser

1. Non dovrebbe essere l'identità filo IUSR_WORKSTATION o aspnet_wp nome utente?
2. Qual è la differenza tra autenticazione e rappresentazione?

È stato utile?

Soluzione

myuser è l'utente autenticato su tale domanda, è per questo che il vostro CurrentPrincipal ti dà MYDOMAIN / myuser. L'applicazione impersona IUSR_WORKSTATION quando si utilizza le risorse come il database, ed è una questione completamente diversa.

Se si va a Project sulla barra degli strumenti, e selezionare la configurazione ASP.NET, si aprirà un sito web che ti permette di accedere a queste impostazioni e creare utenti, ruoli ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top