Erlaube es, nur in Symfony2 auf bestimmte Benutzer umzustellen / sich zu verstellen

8

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

wechseln

BenutzerB kann zu BenutzerA und BenutzerC

wechseln

UserC kann zu UserA und UserB

wechseln

Danke für Ihre Hilfe!

    
Žan Kusterle 14.11.2012, 00:48
quelle

3 Antworten

14

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.

    
Tyler Sommer 08.12.2012, 23:10
quelle
2

Wenn Sie sich als Benutzer von "Benutzer" in "Normaler Benutzer" ausgeben wollen, gibt es einige Beispiele:)

Ссылка

Ссылка

    
Max Małecki 14.11.2012 08:47
quelle
0

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  ++

    
matlow 04.03.2015 12:29
quelle

Tags und Links