Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
webentwicklung:symfony2:symfony2_tutorials:sonata_user_bundle_installieren [24.01.2015 22:08] cbeier [Benutzer anlegen] |
webentwicklung:symfony2:symfony2_tutorials:sonata_user_bundle_installieren [02.10.2017 22:43] (aktuell) |
||
---|---|---|---|
Zeile 40: | Zeile 40: | ||
<WRAP center round info 100%> | <WRAP center round info 100%> | ||
- | Je nachdem welche Sonata Bundles bereits installiert wurden (z.B. das Sonata Admin Bundle) kann es sein, dass bei dir schon einziele | + | Je nachdem welche Sonata Bundles bereits installiert wurden (z.B. das Sonata Admin Bundle) kann es sein, dass bei dir schon einzelne |
</ | </ | ||
Zeile 57: | Zeile 57: | ||
doctrine: | doctrine: | ||
+ | dbal: | ||
+ | # Your database configuration ... | ||
+ | | ||
+ | types: | ||
+ | json: Sonata\Doctrine\Types\JsonType | ||
+ | |||
orm: | orm: | ||
# And these in the config mapping definition (or enable auto_mapping): | # And these in the config mapping definition (or enable auto_mapping): | ||
Zeile 67: | Zeile 73: | ||
ApplicationSonataUserBundle: | ApplicationSonataUserBundle: | ||
SonataUserBundle: | SonataUserBundle: | ||
- | dbal: | ||
- | types: | ||
- | json: Sonata\Doctrine\Types\JsonType | ||
sonata_user: | sonata_user: | ||
Zeile 91: | Zeile 94: | ||
# The encoders are important and missing in the original install instruction. | # The encoders are important and missing in the original install instruction. | ||
encoders: | encoders: | ||
- | | + | FOS\UserBundle\Model\UserInterface: |
- | | + | |
| | ||
role_hierarchy: | role_hierarchy: | ||
Zeile 238: | Zeile 240: | ||
Hier endet jetzt die Original-Anleitung von Sonata und eigentlich ist die Implementierung des User Bundles jetzt auch abgeschlossen. Um jetzt jedoch auch unseren ersten User anlegen zu können, müssen noch die entsprechenden Datenbanktabellen angelegt werden: | Hier endet jetzt die Original-Anleitung von Sonata und eigentlich ist die Implementierung des User Bundles jetzt auch abgeschlossen. Um jetzt jedoch auch unseren ersten User anlegen zu können, müssen noch die entsprechenden Datenbanktabellen angelegt werden: | ||
- | php composer.phar | + | php app/ |
## Benutzer anlegen | ## Benutzer anlegen | ||
Zeile 244: | Zeile 246: | ||
Nettwerweise gibt es auch einen Befehl für das Terminal, um einen User Eintrag in der Datenbank anzulegen: | Nettwerweise gibt es auch einen Befehl für das Terminal, um einen User Eintrag in der Datenbank anzulegen: | ||
- | php composer.phar | + | php app/ |
+ | |||
+ | Und für einen User mit Admin-Berechtigung: | ||
+ | |||
+ | php app/console fos: | ||
## Fehlermeldungen und ihre Lösung | ## Fehlermeldungen und ihre Lösung | ||
Zeile 276: | Zeile 283: | ||
<code php> | <code php> | ||
- | new Symfony\Bundle\SecurityBundle\SecurityBundle, | + | new Symfony\Bundle\SecurityBundle\SecurityBundle(), |
# ... | # ... | ||
new FOS\UserBundle\FOSUserBundle(), | new FOS\UserBundle\FOSUserBundle(), | ||
</ | </ | ||
+ | |||
+ | #### Meldung " | ||
+ | |||
+ | Wenn diese Meldung bei einem Loginversuch erscheint, nachdem man sich einen User angelegt hat, liegt dies daran, dass die Datenbanktabelle `fos_user_user` nicht vollständig erstellt wurde. Dort fehlen nämlich die sonst vorhanden Felder für Benutzername, | ||
+ | |||
+ | Der Grund ist, dass nur das Schema für das Model vom SonataUserBundle von Doctrine angelegt wurde. Um das Problem zu beheben, muss in der `config.yml` (app/ | ||
+ | |||
+ | <code yaml> | ||
+ | doctrine: | ||
+ | dbal: | ||
+ | orm: | ||
+ | entity_managers: | ||
+ | default: | ||
+ | mappings: | ||
+ | FOSUserBundle: | ||
+ | </ | ||
+ | |||
+ | Danach muss noch das Schema bzw. die Datenbank mittels Doctrine aktualisiert werden und natürlich ein neuer (dann vollständiger) User angelegt werden: | ||
+ | |||
+ | php composer.phar doctrine: | ||
+ | |||
| | ||
{{tag> | {{tag> |