Es ist nicht so einfach. Das Problem ist, dass der benutzerdefinierte UserNamePasswordValidator vor der AuthorizationPolicy.Evaluate() und irgendwo dazwischen aufgerufen wird, WCF initialisiert Thread.CurrentPrincipal selbst. Ich habe versucht, es in den Passwort-Validator setzen, aber es funktioniert nicht, es wird sofort nach WCF gekracht, wenn der ursprüngliche Prinzipal erstellt wird. Die einzige Möglichkeit, es zum Laufen zu bringen, ist, wenn ich warte und Thread.CurrentPrincipal in der AuthorizationPolicy.Evaluate() -Methode setze.
Ich würde gerne einen WCF-Guru das erklären, weil ich so viele WCF-Anfänger sehe, die das gleiche Problem haben, und ich sehe es als einen Fehler im WCF-Design.