Symfony2 - prüfen, ob Benutzer hat die Rolle, die bei der Authentifizierung
Konnte ich nicht finden, etwas von diesem besonderen;
Ich brauche ein einfaches zu überprüfen, wenn ein Benutzer-login im frontend, wenn dieser Benutzer beispielsweise Rolle: ROLE_CUSTOMER
Muss ich das in der authenticationprocess, da muss es einen Fehler zurück, wenn der Benutzer nicht haben, diese Rolle.
Sicherheit.yml
public:
pattern: ^/
context: site
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
check_path: site_login_check
login_path: site_login
success_handler: authentication_handler
failure_handler: authentication_handler
logout:
path: site_logout
target: site_login
anonymous: true
- Welche login-Methode verwenden Sie? - Methode aus der Dokumentation?
- Ich benutze die FOSuserbundle
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, in diesem Fall müssen Sie schreiben Sie Ihre eigenen Benutzer-Anbieter, denn in FOSuserbundle übernehmen die Standard-ROLLE ist ROLE_USER und wenn der Benutzer nicht vorhanden, wird es automatisch verbinden Sie mit der Benutzer-und nachdem der Benutzer aktiviert ist, FOS betrachten den user als gültige Anmeldung.
Oder müssen Sie Ihre eigenen login_check.
Es ist eine andere Art und Weise, im Grunde genommen machen die Annahme, dass FOSuser tun, die Anmeldung und Authentifizierung und dann können Sie einen Dienst erstellen, nennen Sie es successLoginHandler und nachdem der Benutzer "eingeloggt" von fos, die Sie tun können, Ihre eigenen Sachen dort, und überprüfen Sie diese Rolle. Wenn das nicht vorhanden ist, Sie zurück zu senden einen access-denied exception.