Heim >Backend-Entwicklung >PHP-Tutorial >Grundlegende Benutzerverwaltung in Symfony2 mit Fosuserbundle
Dieses Tutorial zeigt, wie Fosuserbundle in ein Symfony -Projekt für die Benutzerauthentifizierung und -verwaltung integriert wird. Fosuserbundle vereinfacht die Registrierung von Benutzer, Anmeldungen, das Kennwortresets und die Profilverwaltung, die das Sicherheitssystem von Symfony nutzt.
Schlüsselmerkmale von Fosuserbundle:
(Bild: Homestead verbessertes Setup)
Einrichten des Symfony -Projekts:
Dieser Leitfaden verwendet das Gehöft, das verbessert wurde. Fügen Sie Ihrer Homestead.yml
-Datei eine neue Site hinzu:
<code class="language-yaml">sites: - map: symfonylogin.app to: /home/vagrant/Code/SymfonyLogin/web type: symfony databases: - symfony</code>
add 192.168.10.10 symfonylogin.app
zu Ihrer /etc/hosts
-Datei. Starten Sie die VM mit vagrant up
.
installieren Sie das Symfony -Installationsprogramm in der VM mit vagrant ssh
und diese Befehle:
<code class="language-bash">curl -LsS http://symfony.com/installer > symfony sudo mv symfony /usr/local/bin/symfony chmod a+x /usr/local/bin/symfony</code>
Erstellen Sie eine neue Symfony -Anwendung:
<code class="language-bash">cd Code symfony new SymfonyLogin</code>
Konfigurieren Sie parameters.yml
mit Ihren Datenbank- und E -Mail -Einstellungen. Greifen Sie auf die Skelettanwendung bei http://symfonylogin.app
zu. (Hinweis: Für Vagrant müssen Sie möglicherweise app_dev.php
anpassen, um Ihren Host -IP einzuschließen.)
Integration von FosuserBundle:
Installation: Verwenden Sie den Komponisten:
<code class="language-bash">composer require friendsofsymfony/user-bundle "~2.0@dev"</code>
Bundle Registrierung: In AppKernel.php
, add new FOSUserBundleFOSUserBundle()
zum $bundles
-Array.
Konfiguration (config.yml
):
Aktivieren Sie den Übersetzer:
<code class="language-yaml">translator: { fallbacks: ["%locale%"] }</code>
Sicherheit in security.yml
:
<code class="language-yaml">security: encoders: AppBundle\Entity\User: bcrypt # ... (rest of security configuration)</code>
FOSUSERBUNDLE -Konfiguration hinzufügen:
<code class="language-yaml">fos_user: db_driver: orm firewall_name: main user_class: AppBundle\Entity\User from_email: address: admin@example.com sender_name: Example.com registration: confirmation: enabled: true template: FOSUserBundle:Registration:email.txt.twig</code>
Benutzerentität (src/AppBundle/Entity/User.php
): Erstellen einer Benutzerentität erweitert FOSUserBundleModelUser
:
<code class="language-php"><?php // ... (Entity code as in original example) ?></code>
Datenbankschema aktualisieren:
<code class="language-bash">php app/console doctrine:schema:update --force</code>
Routen importieren (routing.yml
):
<code class="language-yaml">fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"</code>
(Bild: Standardregistrierungsformular)
Anpassung Vorlagen:
erstellen app/Resources/FOSUserBundle/views/Registration/
und kopieren Sie die erforderlichen Vorlagen aus vendor/friendsofsymfony/user-bundle/Resources/views/Registration/
. Ändern Sie diese Vorlagen, um das Erscheinungsbild des Registrierungsformulars anzupassen. Beispielmodifikationen zu register.html.twig
und register_content.html.twig
sind im ursprünglichen Beispiel gezeigt.
(Bild: Anpassungsregistrierungsformular)
Weitere Anpassung:
app/Resources/translations/
. Diese verbesserte Zusammenfassung liefert eine prägnantere und organisiertere Erklärung des Integrationsprozesses von Fosuserbundle, wobei die wichtigsten Informationen und Bilder aus der ursprünglichen Eingabe beibehalten werden. Der FAQ -Abschnitt wird für die Kürze weggelassen, da das Tutorial selbst diese Punkte umfassend behandelt.
Das obige ist der detaillierte Inhalt vonGrundlegende Benutzerverwaltung in Symfony2 mit Fosuserbundle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!