Archiv

Archiv für Oktober, 2014

CurrentPrincipal in einer Unity-WPF-Anwendung setzen

10. Oktober 2014 Keine Kommentare

Bei der Untersuchung von Claims Authentifizierung mit WPF ​innerhalb einer mehrschichtigen Anwendung bin ich auf ein Problem gestoßen, den aktuellen (Windows-) Benutzer zu setzen.

Die Anwendung verwendet Unity und somit auch einen entsprechenden Bootstrapper, welcher von UnityBootstrapper erbt. Ich wollte also innerhalb von InializeShell im Bootstrapper auch den aktuellen Benutzer setzen bzw. Claims für den aktuellen Benutzer hinzufügen.

Laut mehreren Orten im Web kann dies ja per Thread.CurrentPrincipal erfolgen. Es ist allerdings so, dass scheinbar mehrere Threads erstellt werden und so der CurrentPrincipal nicht erhalten bleibt. Eine Lösung ist, den Benutzer für die aktuelle Domäne der Anwendung zu setzen – also mit AppDomain.CurrentDomain.SetThreadPrincipal(principal).

Ich hoffe das kann dem einen oder anderen helfen.

KategorienProgrammierung Tags: , , ,