ERKLÄRUNG
Es ist einfach Symfony2 zu erlauben, zu einem anderen Benutzer zu wechseln. Meine Frage ist, wie man bestimmten Benutzern erlaubt, nur zu bestimmten anderen Benutzern zu wechseln? Ich verwende FOSUserBundle als meinen Benutzer-Provider.
BEISPIEL
Es gibt 5 Benutzer, UserA, UserB, UserC, UserD, UserE, aber nur 3 von ihnen sind miteinander verknüpft.
UserA kann zu UserB und UserC
wechselnBenutzerB kann zu BenutzerA und BenutzerC
wechselnUserC kann zu UserA und UserB
wechselnDanke für Ihre Hilfe!
Sie könnten diese Art von Sache möglicherweise implementieren, indem Sie den standardmäßigen SwitchUserListener überschreiben.
Der Parameter, den Sie überschreiben würden, ist: security.authentication.switchuser_listener.class
Zum Beispiel in parameter.yml:
%Vor% In Ihrer benutzerdefinierten Listener-Klasse würden Sie Symfony\Component\Security\Http\Firewall\ListenerInterface
implementieren und die vorhandene Klasse Symfony\Component\Security\Http\Firewall\SwitchUserListener
als Grundlage für Ihre benutzerdefinierte Implementierung verwenden.
Danke an Veonik, eine (vielleicht dreckige) Art, das zu tun
Fügen Sie eine Rolle mit dieser Syntax hinzu:
%Vor%Fügen Sie beispielsweise ROLE_A zu BenutzerA hinzu:
%Vor%Deklarieren Sie Ihren eigenen SwitchUserListener-Dienst in yml:
%Vor%In der SwitchUserListener :: versuchswitchUser-Methode
%Vor%Sagen Sie mir, wenn Sie eine andere Lösung haben ++
Tags und Links symfony switch-statement