Ich habe eine Klasse, die ein IPrinciple
Objekt auf Konstruktion basierend auf dem aktuellen authentifizierten Benutzer festlegen muss.Konfigurieren Sie Simple Injector, um den aktuellen authentifizierten Benutzer zu injizieren
fand ich einen anderen Code, den ich versucht, aber es hat nicht funktioniert:
private readonly Lazy<IPrincipal> _principal;
public MyService(Lazy<IPrincipal> principal)
{
_principal = principal;
}
Und ich Einfache Injector wie so konfiguriert:
container.Register(() => new Lazy<IPrincipal>(() => HttpContext.Current.User));
Offenbar _principal
undefiniert/auf ein nicht gesetzt Instanz eines Objekts, wenn ich versuche, dies zu tun.
Ich habe auch versucht:
container.Register(() => new Lazy<IPrincipal>(() => Thread.CurrentPrincipal));
Das erlaubte mir _principal.Value.Identity.IsAuthenticated
zu überprüfen, wurde aber immer false
zurück.