FOSUserBundle Gruppenrollen-Setup

8

Ich verwende die Option FOSUserBundle und die Option Group. Registrierung funktioniert. Das Erstellen von Gruppen funktioniert auch. Wenn ich 2 Gruppen, admin und client, erstelle und MANUELL eine: 1: {i: 0; s: 10: "ROLE_ADMIN";} zur Admin-Gruppe in der fos_group-Tabelle hinzufüge und dann MANUELL in der fos_user_user_group einrichte und eingib Benutzer der Admin-Gruppe, die sich mit diesem Benutzer anmeldet, kann sich als Administrator anmelden.

Allerdings gibt es offensichtlich einige Nachteile dieser Methode. Was kann ich verwenden, um jetzt einen Benutzer zu einer Gruppe hinzuzufügen? Wenn Sie die Befehlszeilenoption promote verwenden, wird die Rolle nur diesem Benutzer hinzugefügt, aber in der Tabelle fos_user, und da ich Gruppen verwende, vermute ich, dass die Spalte roles der Tabelle fos_user nicht mehr verwendet wird. Und wenn es immer noch einen Zweck erfüllt, wie kann ich einen Benutzer einer Gruppe programmgesteuert zuweisen?

Meine andere große Frage ist, wie ich Rollen Gruppen zuweisen kann. Vielleicht bekomme ich nichts über die Idee der ganzen Gruppe, aber ich hätte erwartet, dass ich die Rolle (n) für eine Gruppe zur Erstellungszeit hinzufügen könnte, aber das "neue" Formular fragt nur nach dem Gruppennamen und gibt es nicht Es scheint kein Äquivalent zum Befehl zum Hochladen von Benutzern für Gruppen zu existieren.

Danke.

    
cbaltatescu 24.02.2013, 21:53
quelle

1 Antwort

14

Wie ordne ich einen Benutzer programmgesteuert einer Gruppe zu?

%Vor%

Da Sie FOSUserBundle verwenden, erweitert Ihre Benutzereinheit FOS\UserBundle\Model , die GroupableInterface implementiert. Ihre Benutzerklasse hat also bereits die Gruppenmethoden getGroups, hasGroup($name), addGroup(GroupInterface $group), removeGroup(GroupInterface $group) . Zur Referenz siehe hier Ссылка

Wie weise ich Rollen Gruppen zu?

%Vor%

Sie müssen die Rollenzuordnung selbst implementieren, fosuserbundle hat dafür keine vordefinierten Formulare.

    
Lost in OWL 24.02.2013, 22:47
quelle

Tags und Links