70 messaggi dal 02 settembre 2003
Ciao a tutti, sto cercando di caricare la Principal ma ho l'errore in oggetto.

Ecco il mio codice :

using System.Security.Principal;
...
WindowsIdentity wi = new WindowsIdentity(userName@fullyqualifieddomainName);
WindowsImpersonationContext ctx = null;
try
{
ctx = wi.Impersonate();
// Thread is now impersonating
}
catch
{
// Prevent exceptions propagating.
}
finally
{
// Ensure impersonation is reverted
ctx.Undo();
}



Ora il (userName@fullyqualifieddomainName) cosa devo mettere...o meglio come leggo quello autenticato in windows ?
Devi passargli il token ottenuto chiamando la API di logon

[DllImport("advapi32.dll", CharSet=CharSet.Unicode, SetLastError=true)]
public static extern int LogonUser(string username, string domain, string password, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);


Guarda questo esempio
http://www.pinvoke.net/default.aspx/advapi32.LogonUser

Ciao

Il mio blog
Homepage
70 messaggi dal 02 settembre 2003
Ciao ho risolto, bastava mettere il server IIS (W2003) su un dominio W2003. Ora però ho notato che quando faccio la Impersonate e successiva redirect ad altra pagina, nella nuova pag la identity viene riazzerata...
Ah pensavo volessi impersonare un utente in particolare. L'impersonificazione va fatta ad ogni richiesta perché il suo contesto è a livello di thread, thread che gestisce molte richieste e quindi si annulla alla fine di ognuna di essa.
Perché non usi <identity impersonate="true" nel web.config che lo fa da solo

Ciao

Il mio blog
Homepage
70 messaggi dal 02 settembre 2003
asessa ha scritto:
Ciao ho risolto, bastava mettere il server IIS (W2003) su un dominio W2003. Ora però ho notato che quando faccio la Impersonate e successiva redirect ad altra pagina, nella nuova pag la identity viene riazzerata...

Devo impersonare un utente particolare sul dominio la cui identità mi arriva via HTTP HEADER da un altra applicazione e poi ridirigere il tutto su una applicazione terza fatta in asp.net. Pensavo che una volta impersonato un utente su quella applicazione la stessa avesse la nuova identity per tutta la durata della sessione utente.
Non sai se c'è un metodo alternativo?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.